流程控制、if、elif、else,whilie、break、continue的使用
今日内容
-
流程控制理论
-
if判断
-
while循环
流程控制概念#
流程控制就是控制事物的执行流程
执行流程的分类#
顺序结构#
从上往下依次执行,代码运行流程图如下
分支结构#
根据某些条件判断做出不同的运行流程
循环结构#
根据某些判断循环往复的做相同的事情(不会一直循环,都应该有一个结束循环的条件),类似于一个人每天做一件事情,比如流水线上的操作工,在代码层面上其实就是让一些代码反反复复的执行
流程图如下
分支结构分类#
-
单if分支
''' 语法结构 if 条件: 条件成立之后的子代码(可以有多行) ''' # eg # 如果女孩子大于38 叫阿姨 # 先定义一个女孩子的年龄 age = 39 # 判断年龄是否大于 38 if age >38: print ('阿姨好')
那么这段代码的流程图就是
-
if与else分支
''' 语法结构 if 条件: 条件成立之后执行的子代码(可以有多行) else: 条件不成立执行的子代码(可以有多行) ''' # eg # 如果女孩子的年龄大于38 叫阿姨 否则叫小姐姐 age = 18 if age > 38" print('阿姨好') else: print('小姐姐')
那么这段代码的流程图就是:
-
if与elif与else分支
'''
语法结构
if 条件1:
条件1成立执行的子代码(可以有多行)
elif 条件2:
条件1不成立条件2成立执行的子代码(可以有多行)
elif 条件3:
条件1和2不成立,条件3成立执行的子代码(可以有多行)
else:
上述所有的条件都不成立执行的在子代码(可以有多行)
***中间的elif可以又多个***
'''
# eg
# 如果用户名是tuzi则打印老板,如果是tom则打印猫,如果是jeery则打印老鼠,如果是其他则打印不认识你
username = input('username>>>:')
if username == 'jason'
print('老板')
elif username == 'tom'
print('tom')
elif username == 'jerry'
print('老鼠')
else:
print('不认识你')
那么这段代码的流程图就是:
if的嵌套
# 一个if判断条件内,还可以再加入if条件判断
# 如果女孩子的年龄大于38说 不好意思认错人了 否则上去要微信
# 如果成功了 则去吃饭 看电影 逛商场 直至天黑 宿舍锁门了!
age = 22
is_success = True
if age < 38:
print('我观察你很久了想要个联系方式')
if is_success:
print('吃饭 看电影 天黑了 睡觉觉')
else:
print('去你妹的')
else:
print('哎呀不好意思 认错人了')
那么这段代码的执行流程图就是:
循环结构#
whille循环
while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。
'''
其语法结构为:
while 判断条件:
条件成立之后执行的循环体代码
'''
# 执行语句可以是单个语句或语句块,判断条件可以是任何表达式,任何非0非空的值均为Ture,当判断条件为false时,循环结束
# eg:
while True:
#获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 校验/判断用户名和密码是否正确
if username == 'tuzi' and password == '123':
print('登录成功')
else:
print('用户名或密码错误')
运行结果为:
而如果用户名和密码一直输入错误,则会一直让用户重新输入,知道输入正确为止,而在这之前,今天真有意思这句话也输出不了,因为该程序还没有跳出while循环。如下图所示
那么该程序运行的流程图为:
那么现在就发现了一个问题,就是不管有没有输正确,他都会循环运行代码,也就是陷入了死循环,接下来就讲讲怎么解决
#while+break
break是用于直接结束本层循环
break只能结束所在那一层的循环
# eg:
# 获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'tuzi' and password == '123':
print('登录成功')
break # 结束本层循环
else:
print('用户名或密码错误')
print('今天真有意思!!!')
运行结果图为:
如果输入错误的话,还是让你重新输入
那么该程序的运行流程为
除了break是跳出循环外,continue也是用来跳出循环的
continue是用于结束本次循环,直接开始下一次循环
# eg
count = 1
while count < 11:
if count == 4:
count += 1
continue # 结束本次循环,开始下一次循环
print(count)
count += 1
程序运行结果为
程序的执行流程为:
必知:#
-
在python中使用缩进来表示代码的从属关系
-
并不是所有的代码都可以有子代码,目前可以有的,if、elif、else、whilie。
-
如果多行代码属于同一个父代码,那么这多行代码需要保证相同的缩进量,在python中推荐使用四个空格来表示缩进
-
具有相同缩进量的代码彼此之间按照顺序结构执行,没有从属关系,平起平坐
-
如果一行代码是冒号结束,那么紧挨着的下一行必缩进
冒号的含义相当于是要拥有子代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下