1996年,计算机科学家证明了:任何复杂的算法都可以由顺序结构、选择结构、循环结构这三种基本的结构组合而成。
对象的布尔值
Python一切皆为对象,所有的对象都有一个布尔值,使用内置函数bool()获取对象的布尔值。
以下对象的布尔值均为False,其他的位True:
print(bool(False)) print(bool(0)) print(bool(0.0)) print(bool(None)) print(bool('')) print(bool("")) print(bool([])) #空列表 print(bool(list())) #空列表 print(bool(())) #空元组 print(bool(tuple())) #空元组 print(bool({})) #空字典 print(bool(dict())) #空字典 print(bool(set())) #空集合
1.顺序结构
程序从上往下依次执行
print('-------------------程序开始-------------------') print('1把冰箱打开') print('2把大象放进去') print('3把门关上') print('------------------程序结束--------------------')
设置两个断点,然后单击调试按钮(一个小虫子的图标),再单击一次步进一行代码,可以看到程序从上往下依次执行。
2.选择结构/分支结构
根据判断条件的布尔值选择性地执行部分代码,明确地让计算机知道什么条件下该去做什么。
1.单分支结构 if ..else:
money=1000 s=int(input('请输入取款金额')) if money>=s: money-=s print('取款成功,余额为',money) else: print('取款失败')
2.多分支结构 if..elif..else:
score=int(input('请输入一个成绩')) if 90<= score<=100: print('A') elif 80 <= score<=89: print('B') elif 70<= score<=79: print('C') elif 60 <=score <= 69: print('D') elif 0 <= score <= 59: print('E') else:print('输入有误,不好意思')
3.嵌套if结构:
money=float(input('请输入你的购物金额:')) answer=input('您有会员卡吗?y/n') if answer=='y': print('会员') if money>200: print('打八折,付款金额为',money*0.8) elif money>=100: print('打九折,付款金额为',money*0.9) else: print('不打折,付款',money) else: print('非会员') if money>300: print('打9.5折,付款',money*0.95) else: print('不打折,付款',money)
4.条件表达式:
用于简化代码,条件为True,执行前面的代码;条件为False执行后面的代码。
num_1=int(input('请输入第一个整数')) num_2=int(input('请输入第二个整数')) print( str(num_1)+'>'+str(num_2) if num_1>=num_2 else str(num_1)+'<'+str(num_2) )
3.循环结构
✪内置函数range()
第一种创建方式:只有一个终值,从0开始,到终值结束(不包含终值),步长为1
r=range(10) print(r) #结果:range(0, 10) print(list(r)) #结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第二种创建方式:指定起始值,从起始值开始,到终值结束(不包含终值),步长为1
r=range(1,9) print(list(r)) #[1, 2, 3, 4, 5, 6, 7, 8]
第三种创建方式:三个参数,起始值、终值、步长
r=range(1,10,2) print(list(r)) #[1, 3, 5, 7, 9]
判断指定的整数,在序列中是否存在in , not in
r=range(1,10,2) print(10 in r) #False print(9 in r) #True print(10 not in r) #True print(9 not in r) #False
1.while循环
计算1-100之间的偶数的和。
a = 1 sum = 0 while a<=100: if a%2==0: sum+=a a+=1 print('1-100之间的偶数和为:',sum)
2.for_in 循环
in表示从(字符串、序列)中依次取值,又称遍历
for in遍历的对象必须是可迭代的对象。
#字符串可迭代对象 for item in 'Python': print(item) #range()产生一个整数序列,也可以是一个迭代对象 for i in range(10): print(i) #如果在循环体中不需要使用自定义变量,可将自定义变量写为“_” for _ in range(3): print('人生苦短,我用Python')#重要的事情说三遍
3.嵌套循环
要求输出三行四列的矩形
for i in range(1,4): for j in range(1,5): print('*',end='\t') #不换行输出 print()#换行
打印一个9x9乘法表
for i in range(1,10): for j in range(1,i+1): print(j,'*',i,'=',i*j,end='\t') print()
4.pass空语句
语句什么都不用做,只是一个占位符,用在搭建语法结构时,还没有想到代码怎么写的时候使用。
可用于:
if语句的条件执行体
for_in 语句循环体
定义函数时的函数体
5.流程控制语句
✪break语句:用于退出整个循环
从键盘录入密码,最多录入3次,如果正确结束循环,错误继续。
for item in range(3): pwd = input('请输入密码') if pwd =='8888': print('密码正确') break else: print('密码错误')
✪continue语句:用于结束当前的循环,进入下一个循环。
使用continue语句输出1-50之间5的倍数。
for item in range(1,51): if item %5!=0: continue else: print(item)