python----if流程控制
1、流程控制和分支结构
流程控制
概念:
流程:代码执行的过程
流程控制:对代码执行过程的管控
流程控制三大结构:
(1)顺序结构:从上到下,代码依次执行
(2)分支结构: 一共4个
(3)循环结构:while for
分支结构
(1) 单分支
(2) 双分支
(3) 多分支
(4) 巢状分支
2、if的单分支结构
语法:
if 条件表达式:
代码块
运行机制:
如果条件表达式成立(为真),则执行代码块,否则不执行代码块。
注:代码块-->以冒号作为开始,用缩进来划分相同的作用域,这个整体称之为代码块。
作用域-->产生作用的区域
# 例一
name1 = '小郭'
if name1 == '小郭':
print('我叫:',name)
# 结果:
# 我叫: 小郭
# 例二
name2 = '哈哈'
if name == '小郭':
print('我叫:',name)
# 条件表达式不成立,没有运行结果。
3、if的双分支结构
语法:
if 条件表达式:
代码块1
else:
代码块2
运行机制:
如果条件表达式成立(为真),则执行代码块1;
如果条件表达式不成立(为假),则执行代码块2;
注:
if 下面的代码块叫做 真区间
else 下面你的代码块叫做 假区间
# 例一
money = 5
if money > 5:
print('乘出租车回家')
else :
print('乘公交车回家')
# 运行结果:
# 乘公交车回家
# 例二
username = input('请输入用户名:')
password = input('请输入密码')
if username=='小郭' and password=='0000':
print('登录成功,欢迎来到~~')
else :
print('登录失败,密码或的用户名错误')
4、if的多分支结构
语法:
if 条件表达式1:
代码块1
elif 条件表达式2:
代码块2
elif 条件表达式3:
代码块3
else:
代码块4
运行机制:
默认从上到下
如果条件表达式1成立则执行代码块1,否则向下执行
如果elif里的某个条件表达式成立。则执行对应的代码块。
如果if和elif里的条件表达式没有一个成立,则执行else对应的代码块。
注:
如果有一个条件表达式成立,就执行这个条件表达式对应代码块的内容,
剩下的所有条件表达式和else对应的代码块都不执行了。
elif 可以是1个,也可以是多个,
else 只能是1个,或者没有
# 例一
age = 20
if age>0 and age<=18:
print('未成年')
elif age>18 and age<=60:
print('中年')
elif age>60:
print('老年')
# 结果:
# 中年
# 例二
print('''
1: 榴莲
2:椰子
3:水蜜桃
4:哈密瓜
5:芒果
''')
num = int(input('请选择你喜欢的水果:'))![请添加图片描述](https://www.icode9.com/i/ll/?i=4d937b760c704c46b1a23914275ecced.png)
if num==1:
print('你喜欢吃榴莲')
elif num==2:
print('你喜欢吃椰子')
elif num==2:
print('你喜欢吃水蜜桃')
elif num==3:
print('你喜欢吃苹果')
elif num==4:
print('你喜欢吃哈密瓜')
elif num==5:
print('你喜欢吃芒果')
else :
print('你不喜欢吃水果')
5、巢状分支
多层if结构嵌套组合形成巢状分支
name = '小郭'
sex = '男'
age = 22
occupation = '学生'
grade = '大三'
if name == '小郭':
if sex == '男':
if age == 22:
if occupation == '学生':
if grade == '大三':
print("我叫:{},性别{}:,年龄:{},职业:{},工龄:{}".format(name,sex,age,occupation,grade))
else:
print("哈哈,你的学历不在记录中")
else:
print("年龄错误")
else:
print("名字错误")
# 结果:
# 我叫:小郭,性别男:,年龄:22,职业:学生,工龄:大三