流程控制
什么是流程控制?
流程控制是指通过编程语言中的关键字控制程序的执行过程
按照执行流程划分为三大类
- 顺序结构:
就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码。
- 分支结构:
也称为选择结构,就是让程序“拐弯”,根据某些条件的判断,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。
- 循环结构:
通俗的解释可以把循环结构比作流水线上的操作工,根据某些条件的判断循环反复的做相同的事情(不可能一直循环 应该有一个循环结束的条件)
在代码层面上其实就是让一些代码反反复复的执行,进行循环运行
重点内容,必知必会
- 在python中我们用缩进代码来表示代码的从属关系。用 关键字 if 来进行判断,是否执行由 if判断决定。如果表达式成立(真),就执行后面的代码;如果表达式不成立(假),就什么也不执行。
- 缩进的代码有一个别称,被称之为某某代码的子代码
- 目前只有 if else 这两个代码拥有子代码
- 如果多行代码属于同一个父代码 那么这多行代码需要保证相同的缩进
- 在python中推荐使用四个空格来表示缩进(四个好看一些)
- 具有相同缩进量的代码彼此之间按照顺序结构执行 没有从属关系 平起平坐
- ps:如果一行代码的结尾是冒号结束 那么紧挨着的下一行必缩进
冒号的含义相当于接下来会拥有子代码 - if、elif、else 语句的最后都有冒号
:
,不要忘记
分支结构之 单if
语法结构:
条件成立之后执行的子代码(可以有多行)
age = int( input("请输入你的年龄:") )
if age < 18 :
print("你还未成年,建议在家人陪同下使用该软件!")
print("如果你已经得到了家长的同意,请忽略以上提示。")
#该语句不属于if的代码块
print("欢迎你使用该软件")
运行结果1:
请输入你的年龄:16你还未成年,建议在家人陪同下使用该软件!如果你已经得到了家长的同意,请忽略以上提示。欢迎你使用该软件
运行结果2:
请输入你的年龄:26
欢迎你使用该软件
从运行结果可以看出,如果输入的年龄小于 18,就执行 if 后面的语句块;如果输入的年龄大于等于 18,就不执行 if 后面的语句块。这里的语句块就是缩进四个空格的两个 print() 语句。需要强调的是,Python 是一门非常独特的编程语言,它通过缩进来识别代码块,具有相同缩进量的若干行代码属于同一个代码块,所以你不能胡乱缩进,这样很容易导致语法错误。
分支结构之 if与else
语法结构
if 条件:
条件成立之后执行的子代码(可以有多行)
else:
条件不成立执行的子代码(可以有多行)
如果使用者年龄大于18 可以使用该软件 否则就不能使用该软件
age = 16
if age > 18:
print('欢迎该软件')
else:
print('抱歉未成年不能使用该软件')
if与elif与else分支
语法结构
if 条件1:
条件1成立执行的子代码(可以有多行)
elif 条件2:
条件1不成立条件2成立执行的子代码(可以有多行)
elif 条件3:
条件1和2都不成立 条件3成立执行的子代码(可以有多行)
else:
上述所有的条件都不成立执行的子代码(可以有多行)
中间的elif可以有多个
如果用户名是amy则打印CEO 如果是linda则打印主管
# 如果是anna则打印财务 如果是其他用户则打印普通员工
username = input('username>>>:')
if username == 'amy':
print('CEO')
elif username == 'linda':
print('主管')
elif username == 'anna':
print("财务")
else:
print('普通员工')
如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。
如果 if elif else一起结合使用,只要一个条件成立,就会走对应的分支,后面的分支就不会走了,也不会往回走。
if的嵌套
python中要在if语句中嵌套if的话,那么被嵌套的那个if需要放到嵌套if语句的代码块中。
# 打印出列表中小于50并且大于20的数
a = [12, 54, 61, 32, 14, 26, 55, 22, 23]
for i in a:
if i < 50:
if i > 20:
print(i)
分支结构练习题
# 1.编写一个用户登录程序
# 如果用户名是jason并且密码是123 则打印登录成功
# 如果不是则打印用户名或密码错误
"""
前期写程序可以先用注释编写思路 之后再写对应的代码
相当于将中文翻译成python代码而已
"""
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('欢迎老板光临')
else:
print('没钱滚蛋!!!')
# 2.编写一个成绩评判系统
# 如果成绩大于90 则打印优秀
# 如果成绩大于80 则打印良好
# 如果成绩大于70 则打印一般
# 如果成绩大于60 则打印及格
# 如果成绩小于60 则打印挂科
# 1.先获取学生的成绩
score = input('score>>>:')
score = int(score) # 将字符串的成绩转成整型的成绩(先忽略)
# 2.罗列对应的条件
if score > 90:
print('优秀')
elif score > 80:
print('良好')
elif score > 70:
print('一般')
elif score > 60:
print('及格')
else:
print('挂科')
循环结构
while循环
语法结构
while 条件:
条件成立之后执行的循环体代码
1.先判断条件是否成立 如果成立则执行循环体代码
2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环
while True:
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'amy' and password == '121':
print('登录成功')
else:
print('用户名或密码错误')
while + break:
break是用于直接结束本层循环
while True:
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'amy' and password == '121':
print('登录成功')
break # 结束本层循环
else:
print('用户名或密码错误')
print('今天真有意思!!!')
# while + continue
continu是用于结束本次循环 直接开始下一次循环
count = 1
while count < 11:
if count == 4:
count += 1
continue # 结束本次循环 开始下一次循环
'''直接跳到条件判断的地方重新执行'''
print(count)
count += 1
debug模式 :可以将瞬间执行完成的代码变成分步执行