python中的流程控制
目录
引言
小伙伴们,在前面我们已经学习玩了基本的数据类型。有了这些知识,对于变量值的区分已经没有问题了。接下来带大家一起看看python中的流程控制,流程控制就是控制事物的执行流程。

流程控制的分类
- 顺序结构:从上往下依次执行,我们上几期写的代码都是顺序结构的。
a = 'dsa'
b = 'asda'
c = 'daad'
print(a, b, c)
# 顺序结构就是按照代码的先后顺序来执行的
- 分支结构:根据条件的判断做出不同的运行流程,适合于带有逻辑或判断或比较等条件判断的计算。
age = input('请输入你的年纪:')
if age > '18':
print('姐姐好')
else:
print('你妹的')
- 循环结构:根据条件判断反反复复的执行相同的事情,循环结构要设置一个停止条件,不然会进入死循环。
count = 0
while True:
print('你好帅!!!')
count += 1
if count > 5:
print('可以了帅够了吧!!!')
break

- 补充
- 在python中使用缩进来表示代码的从属关系。
- 不是所有的代码都可以拥有子代码。(从属代码)
- 如果多行代码同属于父代码,那么这么多行代码具有相同缩进。
- 缩进一般用4个空格表示,也可以直接用制表符(tab键)
- 具有相同缩进的代码是兄弟关系,是按照顺序结构执行的。
- 如果一行代码以冒号结束,那么新的一行一定带缩进,这也意味着结果处的冒号表示拥有子代码。
分支结构
单if结构
当只需要满足条件时的子代码时,建议使用单if结构
user_name = input('请输入你的用户名>>>:')
if user_name == 'king': # if 条件:
print('尊贵vip') # 条件成立之后执行的子代码(可以有多行)
graph TD
D(开始) –> A[输入用户名]
A –> B{输入用户名是否等于king}
B –> |True| C[尊贵vip]
D(开始) –> A[输入用户名]
A –> B{输入用户名是否等于king}
B –> |True| C[尊贵vip]
if与else结构
当满足条件和不满足条件的子代码都需要时,建议用if与else结构
user_name = input('请输入你的用户名>>>:')
if user_name == 'king': # if 条件:
print('尊贵vip') # 条件成立之后执行的子代码(可以有多行)
else: # else:
print('滚') # 条件不成立之后执行的子代码(可以有多行)
graph TD
E(开始) –> A[输入用户名]
A –> B{输入用户名是否等于king}
B –> |True| C[尊贵vip]
B –> |False| D[滚]
E(开始) –> A[输入用户名]
A –> B{输入用户名是否等于king}
B –> |True| C[尊贵vip]
B –> |False| D[滚]
if与elif与else结构
当满足不同条件有不同执行子代码时用if与elif与else结构,记住if分支语句只能多选一,当第一个条件满足后就不会看下面的条件了,当满足下面的条件就说明前面的条件没满足。
user_name = input('请输入你的用户名>>>:')
if user_name == 'king': # if 条件1:
print('尊贵vip') # 满足条件1执行的子代码
elif user_name == 'tom': # if 条件2:
print('管理员') # 满足条件2执行的子代码
else: # else:
print('滚') # 条件1条件2都不满足执行的子代码
graph TD
F(开始) –> A[输入用户名]
A –> B{输入用户名是否等于king}
B –> |条件1满足| C[尊贵vip]
B –> |条件2满足| D[管理员]
B –> |条件1条件2都不满足| E[滚]
F(开始) –> A[输入用户名]
A –> B{输入用户名是否等于king}
B –> |条件1满足| C[尊贵vip]
B –> |条件2满足| D[管理员]
B –> |条件1条件2都不满足| E[滚]
if分支的嵌套
当判断完一个条件的前提下再进行下一个判断就要用到嵌套了。嵌套其实很简单,你要注意的是缩进。
age = 38
if age < 28:
print('小姐姐,我看你很久了加个微信。')
sit = input('同意为y>>>:')
if sit = 'y':
print('看电影')
else:
print('有缘再见')
else:
print('阿姨不好意思,我看错人了')
graph TD
G(开始) –> A[获取年龄]
A –> B{年龄是否小于28}
B –> |条件1满足| C[求微信]
B –> |条件1不满足| D[认错人了]
C –> |条件2满足| E[看电影]
C –> |条件2不满足| F[有缘见]
G(开始) –> A[获取年龄]
A –> B{年龄是否小于28}
B –> |条件1满足| C[求微信]
B –> |条件1不满足| D[认错人了]
C –> |条件2满足| E[看电影]
C –> |条件2不满足| F[有缘见]

循环结构
while循环
while True: # while 条件:
print('阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴') # 满足条件执行的循环体代码
graph TD
c(开始) –> A[条件]
A –> |True| B[阿巴]
B –> A
c(开始) –> A[条件]
A –> |True| B[阿巴]
B –> A
while + break循环
在while循环中我们可以看到是一个恒成立的循环,这就成死循环了。因此要需要用到break来跳出本层循环。
while True:
print('阿巴阿巴阿巴阿巴阿巴阿巴阿巴阿巴')
break
graph TD
D(开始) –> A[条件]
A –> |True| B[阿巴]
B –> C[break]
D(开始) –> A[条件]
A –> |True| B[阿巴]
B –> C[break]
while + continue循环
continue的作用是用于跳出本次循环的,相当于要做10天运动,但是第7天你满足肚子不舒服,那第7天就不做运动了,直接到第8天做。
count = 0
while count < 10:
if count == 3:
count += 1
continue
print(count)
count += 1
graph TD
C(开始) –> A[count < 10]
A –> |True| B[count == 3]
B –> |True| D[count += 1]
D –> E[continue]
B –> |False| F[print]
F –> G[count += 1]
G –> A
C(开始) –> A[count < 10]
A –> |True| B[count == 3]
B –> |True| D[count += 1]
D –> E[continue]
B –> |False| F[print]
F –> G[count += 1]
G –> A
总结
来到流程控制就意味着我们可以开始写一些简单的小程序了,今天就到这了,我们下期见。
