流程控制
流程: 计算机执行代码的顺序,就是流程。
流程控制: 对计算机代码执行顺序的控制,就是流程控制。
流程分类: 流程控制一共分为三类,分别是 顺序结构、分支(选择)结构、循环结构。
顺序结构
顺序结构就是代码一种自上而下执行的结构,这是Python默认的流程。
分支(选择)结构
分支结构一共分为4类,分别是 单项分支、双项分支、多项分支、巢状分支
单项分支
格式:
if 1 < 5:
print('条件为真输出我')
特征:
1.if条件表达式结果为真,则执行if之后所控制的代码组,如果为假,则不执行后面的代码组
2.冒号:之后下一行的内容必须缩进,否则语法错误
3.if之后的代码中如果缩进不一致,则可能缩进不一致的代码不会受到if条件表达式的控制
4.冒号:后面的代码是在条件表达式结果为真的情况下执行,所以称之为真区间 或 if区间
双项分支
格式:
if 1 < 5:
print('条件为真输出我')
else:
print('条件为假输出我')
特征:
1.双项分支有两个区间,分别是 True控制的if区间 和 False控制的else区间
2.if区间的内容在双项分支中必须缩进,否则语法错误
多项分支
格式:
if 1 > 5:
print('如果1 > 5,我会被输出')
elif 9 < 8:
print('如果9 < 8,我会被输出')
else:
print('如果以上两条都不成立,我会被输出')
特征:
1.多项分支可以添加无限个elif分支,无论如何,只会执行众多分支的其中一个
2.执行完一个分支后,分支结构就会结束,后面的分支都不会判断,也不会执行
3.多项分支的判断顺序是自上而下逐个分支进行判断的。
#例子:判断一个人的成绩档次
'''
给你一个成绩的值,,要求计算其属于那个档次:
满分:100
优秀:85以上(包含)100以下(不包含)
良好:75以上(包含),85以下(不包含)
及格:60以上(包含),75以下(不包含)
不及格:60以下
#方法1:
cj = 99
if cj == 100:
print('满分')
elif cj >= 85:
print('优秀')
elif cj >= 75:
print('良好')
elif cj >= 60:
print('及格')
else:
print('不及格')
#方法2
cj = 88
if cj == 100:
print('满分')
elif cj >= 85 and cj < 100:
print('优秀')
elif cj >= 75 and cj < 85:
print('良好')
elif cj >= 60 and cj <75:
print('及格')
else:
print('不及格')
#方法3
cj = 77
if cj ==100:
print('满分')
elif 85 <= cj < 100:
print('优秀')
elif 75 <= cj <85:
print('良好')
elif 60 <= cj <75:
print('及格')
else:
print('不及格')
巢状分支
格式:
if 1 < 5:
print('1真的小于5哦')
if 3 < 9:
print('如果3 < 9,我会被输出')
else:
print('如果上面条件不成立,我会被输出')
特征:
巢状分支是其他他分支结构的嵌套结构,无论哪个分支都可以嵌套
#例子:
依次计算一个数值是否同时是:2,3,4,5的整数倍(不是的时候停止判断),如果是责输出倍数是多少:
num =24if num % 2 == 0:#检测是否是2的倍数
#计算倍数
result = num / 2
print('是2的',result,'倍')if num % 3 == 0:#检测是否是3的倍数
# 计算倍数
result = num / 3
print('是3的',result,'倍')if num % 4 == 0:#检测是否是4的整数倍
# 计算倍数
result = num / 4
print('是4的', result, '倍')if num % 5 == 0:#检测是否是5的整数倍
#计算倍数
result = num / 5
print('是5的',result,'倍')
else:
print('不是5的整数倍')
else:
print('不是4的整数倍')
else:
print("不是3的整数倍!")
else:
print("不是2的整数倍!")