流程控制(一)
流程控制理论
流程控制简介
流程控制是指在程序运行时,个别的指令运行或求值的顺序。所谓的流程控制其实就是控制事物执行的流程、顺序。
预备知识
- python中使用缩进来表示代码的从属关系,缩进的内容是子代码,未缩进的是父代码。
- 并不是所有代码都可以有子代码。
- 如果多行代码从属于同一个父代码,那需要注意所有子代码应该有相同的缩进。
- 具有相同缩进量的代码之间是顺序结构执行流程。
注:如果一行代码的结尾是冒号结束,那这行代码必有子代码。即下一行必定要缩进
流程结构的分类
流程结构分为三大类:顺序结构、分支结构、循环结构。
顺序结构
顺序结构从字面意思理解就是根据代码位置,自上而下依次运行,直至结束。
分支结构
分支结构是给出一定的条件,根据判断结果的不同,向不同的方向运行。
1. 单 if 分支结构
# 基础结构:
if 判别条件: #判别条件是否成立
子代码块 #判别条件成立时,所运行的代码(可多行)
例:
score = 78 # 将78赋值给score
if score >= 60: # 判断score是否大于等于60
print('及格') # score >= 60为真时运行此代码
2. if与else分支结构
# 基础结构:
if 判别条件: #判别条件是否成立
子代码块 #判别条件成立时,所运行的代码(可多行)
else:
子代码块 #判别条件不成立时,所运行的代码(可多行)
例:
score = 78 # 将78赋值给score
if score >= 60: # 判断score是否大于等于60
print('及格') # score >= 60为真时运行此代码
else:
print('挂科')
3. if与elif与else分支结构
# 基础结构:
if 判别条件a: #判别条件是否成立
子代码块 #判别条件成立时,所运行的代码(可多行)
elif:判别条件2:
子代码块 #判别条件a不成立但判别条件二成立时,所运行的代码(可多行),此处elif可以有很多个
else:
子代码块 #判别条件a,b都不成立时,所运行的代码(可多行)
例:
score = 78 # 将78赋值给score
if score >= 80: # 判断score是否大于等于80
print('优秀') # score >= 80为真时运行此代码
elif score >= 60: # 判断score是否大于等于60,
print('及格') # score >= 60为真时运行此代码,需要注意的是,第一个if条件默认不成立
else:
print('挂科') # score < 60时运行此代码
4. if的嵌套结构
if嵌套结构是指if语句里还有if语句。满足在已经选择的条件里进行进一步选择。
# 基础结构:
if 判别条件1: #判别条件是否成立
if 判别条件2:
子代码块 #判别条件1成立且判别条件2成立时,所运行的代码(可多行)
else:
子代码块 #判别条件1成立判别条件2不成立时,所运行的代码(可多行)
else:
子代码块 #判别条件1不成立时,所运行的代码(可多行)
例:
score = 85
rank = 6
if score > 80:
if rank < 5:
print('nice done')
else:
print('cheer')
else:
print('a little bad')
循环结构
循环结构是指根据某些条件的判断结果,来决定进行下一步,还是重复进行相同的事。不过这里需要注意的是,如果一个程序或者一串代码持续运行,无法终止的话,就是一串死循环。在实际问题中,应该需要满足一定的条件进行循环,在不满足该条件时,会跳出循环体。
while循环
# 基础结构:
while 判别条件: # 当条件成立时执行子代码(循环体代码)。
条件成立后执行的循环体代码 #循环体代码执行结束后判断判别条件是否成立,如果成立,接着执行循环体代码,至判别条件不成立,跳出循环
例:
count = 0
while count < 10: # 判断count是否小于10
count += 2
print(count) # count小于10,然后执行这两行代码直到第六次循环,count = 10,跳出循环
while + break 跳出本层循环
# 基础结构:
while 判别条件: # 当条件成立时执行子代码(循环体代码)。
条件成立后执行的循环体代码 #循环体代码执行结束后判断判别条件是否成立,如果成立,接着执行循环体代码,至判别条件不成立,跳出循环
break
例:
count = 0
while count < 10: # 判断count是否小于10
if count == 2: # count小于10,然后执行子代码判别count是否等于2,count = 2时,运行if的子代码
print(count)
break #执行循环遇到break直接结束此层循环
else:
count += 2 # count不等于2时,让count = count + 2
while + continue 跳出本次循环
# 基础结构:
while 判别条件: # 当条件成立时执行子代码(循环体代码)。
条件成立后执行的循环体代码 #循环体代码执行结束后判断判别条件是否成立,如果成立,接着执行循环体代码,至判别条件不成立,跳出循环
break
例:
count = 0
while count < 5: # 判断count是否小于5
if count == 3: # 判断count是否等于3
count += 1
continue # 执行循环在count =3 遇到continue直接结束此次循环,重新回到判别条件位置重新运行
print(count)
count += 1