Python3 的分支与循环
1:条件分支
if 条件 :
语句
else:
语句
2.缩写
else:
if :
可以简写为 elif ,因此Python 可以有效的避免“悬挂else”
举例:
#悬挂else score = int(input('请输入一个分数:')) if 80 > score >= 60: print('C') else: if 90 > score >= 80: print('B') else: if 60 > score >= 0: print('D') else: if 100 >= score >= 90: print('A') else: print('输入错误!') #避免“悬挂else” score = int(input('请输入一个分数:')) if 80 > score >= 60: print('C') elif 90 > score >= 80: print('B') elif 60 > score >= 0: print('D') elif 100 >= score >= 90: print('A') else: print('输入错误!')
3:条件表达式(三元操作符)
small = x if x<y else y
例子将下列代码修改为三元操作符
x, y, z = 6, 5, 4 if x < y: small = x if z < small: small = z elif y < z: small = y else: small = z
修改后
small = x if (x < y and x < z) else (y if y < z else z)
4:断言(assert)
当assert 后的条件为假时程序自动崩溃并抛出AssertionError的异常
可以用它在程序中置入检查点
assert 3<4 >>>True assert 1<0 Traceback (most recent call last): File "<pyshell#26>", line 1, in <module> assert 1<0 AssertionError >>>
5:while循环
语法
while 条件:
循环体
6:for循环
语法
for 目标 in 表达式:
循环体
与for经常使用的BIF range()
语法
range([start],[stop],step=1)
例子
for i in range(5) print(i)
fori in range(2,9) print(i)
fori in range(1,10,2) print(i)
三色球问题:
红黄蓝三种颜色的球,红球3个黄球3个,蓝球6个,从中任意摸出8个球,编程计算摸出球的颜色搭配
print('red\tyellow\tgreen') for red in range(0, 4): for yellow in range(0, 4): for green in range(2, 7): if red + yellow + green == 8: # 注意,下边不是字符串拼接,因此不用“+”哦~ print(red, '\t', yellow, '\t', green)
7:两个关键句
break 终止当前循环
continue终止本轮循环并进入下一轮循环但在进入下一轮循环前会测试循环条件!
成员资格运算符
obj [not] in sequence
这个操作符返回值是True或者False
例子
设计一个用户验证密码程序,三次机会,输入含有‘*’号的密码提示从新输入,不减少次数
count = 3 password = 'FishC.com' while count: passwd = input('请输入密码:') if passwd == password: print('密码正确,进入程序......') break elif '*' in passwd: print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ') continue else: print('密码输入错误!您还有', count-1, '次机会!', end=' ') count -= 1