if嵌套、循环结构
流程控制
什么是流程控制?
流程控制是指通过编程语言中的关键字控制程序的执行过程
按照执行流程划分为三大类
-
顺序结构:
就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码。
-
分支结构:
也称为选择结构,就是让程序“拐弯”,根据某些条件的判断,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。
通俗的解释可以把循环结构比作流水线上的操作工,根据某些条件的判断循环反复的做相同的事情(不可能一直循环 应该有一个循环结束的条件)
在代码层面上其实就是让一些代码反反复复的执行,进行循环运行
重点内容,必知必会
- 在python中我们用缩进代码来表示代码的从属关系。用 关键字 if 来进行判断,是否执行由 if判断决定。如果表达式成立(真),就执行后面的代码;如果表达式不成立(假),就什么也不执行。
- 缩进的代码有一个别称,被称之为某某代码的子代码
- 目前只有 if else 这两个代码拥有子代码
- 如果多行代码属于同一个父代码 那么这多行代码需要保证相同的缩进
- 在python中推荐使用四个空格来表示缩进(四个好看一些)
- 具有相同缩进量的代码彼此之间按照顺序结构执行 没有从属关系 平起平坐
- ps:如果一行代码的结尾是冒号结束 那么紧挨着的下一行必缩进
冒号的含义相当于接下来会拥有子代码 - if、elif、else 语句的最后都有冒号
:
,不要忘记
分支结构之 单if
语法结构:
条件成立之后执行的子代码(可以有多行)
1 2 3 4 5 6 | age = int ( input ( "请输入你的年龄:" ) ) if age < 18 : print ( "你还未成年,建议在家人陪同下使用该软件!" ) print ( "如果你已经得到了家长的同意,请忽略以上提示。" )<br> #该语句不属于if的代码块 print ( "欢迎你使用该软件" ) |
运行结果1:
1 | 请输入你的年龄: 16 你还未成年,建议在家人陪同下使用该软件!如果你已经得到了家长的同意,请忽略以上提示。欢迎你使用该软件 |
运行结果2:
1 2 | 请输入你的年龄: 26 <br> 欢迎你使用该软件 |
从运行结果可以看出,如果输入的年龄小于 18,就执行 if 后面的语句块;如果输入的年龄大于等于 18,就不执行 if 后面的语句块。这里的语句块就是缩进四个空格的两个 print() 语句。需要强调的是,Python 是一门非常独特的编程语言,它通过缩进来识别代码块,具有相同缩进量的若干行代码属于同一个代码块,所以你不能胡乱缩进,这样很容易导致语法错误。
分支结构之 if与else
语法结构
if 条件:
条件成立之后执行的子代码(可以有多行)
else:
条件不成立执行的子代码(可以有多行)
1 2 3 4 5 6 | 如果使用者年龄大于 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可以有多个
1 2 3 4 5 6 7 8 9 10 11 | 如果用户名是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语句的代码块中。
1 2 3 4 5 | <br class = "Apple-interchange-newline" > # 打印出列表中小于50并且大于20的数<br><br>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 2 3 4 5 6 7 8 | # 1.获取用户的用户名和密码 username = input ( 'username>>>:' ) password = input ( 'password>>>:' ) # 2.校验/判断用户名和密码是否正确 if username = = 'jason' and password = = '123' : print ( '欢迎老板光临' ) else : print ( '没钱滚蛋!!!' ) |
# 2.编写一个成绩评判系统
# 如果成绩大于90 则打印优秀
# 如果成绩大于80 则打印良好
# 如果成绩大于70 则打印一般
# 如果成绩大于60 则打印及格
# 如果成绩小于60 则打印挂科
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 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 2 3 4 5 6 7 8 | # 1.获取用户的用户名和密码 username = input ( 'username>>>:' ) password = input ( 'password>>>:' ) # 2.校验/判断用户名和密码是否正确 if username = = 'amy' and password = = '121' : print ( '登录成功' ) else : print ( '用户名或密码错误' ) |
while + break:
break是用于直接结束本层循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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模式 :可以将瞬间执行完成的代码变成分步执行
1 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人