流程控制理论
# 流程控制就是指程序执行的顺序,可能会有人说,代码肯定是从上往下执行。说的没错,整体是从上往下执行,但是细节上不完全是从上到下,并不是每一行代码都执行的。可能后面的代码比前面的代码先执行,也有可能前面的代码压根不执行跳到了后面代码执行,这个就需要用到流程控制。
流程控制的分类
1.顺序结构
这个是最简单的,就是按照从上到下的顺序执行代码
#相当于一条路走到黑
2.分支结构
有些代码可以跳过不执行,有选择地执行某些代码
#相当于岔路口,选择其中一条路走(可能有多个岔路口)
3.循环结构
有些代码会反复执行
#相当于迷路了,不断的绕圈圈(但肯定也要绕出去)
了解流程控制前的必备知识
1.在python中使用缩进来表示代码的从属关系
#如下图所示的print相当于if语句缩进了4格,那么print就是if语句的子代码,从属于if语句。
![]()
2.并不是所有的代码都可以拥有子代码
3.如果多行代码属于同一个父代码 那么这多行代码需要保证相同的缩进,在python中推荐使用四个空格来表示缩进(四个好看一些)
4.具有相同缩进量的代码彼此之间按照顺序结构执行 没有从属关系 平起平坐
分支机构
#1.单if语句
'''
if 判断条件:
语句块(不限量)
'''
现在有一个情况,如果你的年龄小于18,那就是未成年人。
实际代码如下:
age = int(input('请输入年龄:'))
if age <= 18:
print('你还未成年')
![]()
#2.if与else分支
'''
if 条件:
条件成立之后执行的子代码(可以有多行)
else:
条件不成立执行的子代码(可以有多行)
'''
如果你的年龄大于等于18,就是成年人,否则是未成年人
age = int(input('请输入年龄:'))
if age >= 18:
print('你成年啦')
else:
print('你还未成年')
![]()
#3.if与elif与else分支
"""
if 条件1:
条件1成立执行的子代码(可以有多行)
elif 条件2:
条件1不成立条件2成立执行的子代码(可以有多行)
elif 条件3:
条件1和2都不成立 条件3成立执行的子代码(可以有多行)
else:
上述所有的条件都不成立执行的子代码(可以有多行)中间的elif可以有多个
"""
如果你的年龄大于等于18周岁就是成年人,小于18的是未成年人,大于8周岁的未成年人为限制民事行为能力人,不满八周岁的未成年人为无民事行为能力人。
age = int(input('请输入年龄:'))
if age >= 18:
print('你还未成年')
elif age>=8:
print('你不仅是未成年还是限制民事行为能力人')
else:
print('你不仅是未成年还是无民事行为能力人')
![]()
#4.if的嵌套:
成年人为完全民事行为能力人。十六周岁以上的未成年人,以自己的劳动收入为主要生活来源的,视为完全民事行为能力人。八周岁以上的未成年人为限制民事行为能力人,不满八周岁的未成年人为无民事行为能力人。
age = int(input('请输入年龄:'))
if age >= 18:
print('你是完全民事行为能力人')
else:
if age >= 16:
str = input('你是否以自己的劳动收入为主要生活来源,请输入:是/否>>>')
if str == '是':
print('你是完全民事行为能力人')
else:
print('你是限制民事行为能力人')
elif age >= 8:
print('你是限制民事行为能力人')
else:
print('你是无民事行为能力人')
![]()
循环结构
# while循环
"""
while 条件:
条件成立之后执行的循环体代码
1.先判断条件是否成立 如果成立则执行循环体代码
2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环
"""
while True:
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('登录成功')
else:
print('用户名或密码错误')
# while + break
break是用于直接结束本层循环
"""
break只能结束所在的那一层循环
"""
while True:
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('登录成功')
break # 结束本层循环
else:
print('用户名或密码错误')
print('今天真有意思!!!')
# while + continue
continu是用于结束本次循环 直接开始下一次循环
count = 1
while count < 11:
if count == 4:
count += 1
continue # 结束本次循环 开始下一次循环
'''直接跳到条件判断的地方重新执行'''
print(count)
count += 1
![]()