Python的流程控制
顺序
按照先后顺序一条条执行
例如,先洗手,再吃饭,再洗碗分支
根据不同的情况判断,条件满足执行某条件下的语句
例如,先洗手,如果饭没有做好,玩游戏,如果饭做好了,就吃饭,如果饭都没有,叫外卖循环
条件满足就反复执行,不满足就不执行或不再执行
例如,先洗手,看饭好了没有,没有好,一会来看一次是否好了,一会儿来看一次,直到饭好了,才可是吃饭。这里循环的条件是饭没有好,饭没有好,就循环的来看饭好了没有。
分支结构
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解分支结构语句的执行过程:
单分支结构:if语句
1
2
3
4
5if condition:
代码块
condition必须是一个bool类型,这个地方有一个隐式转换boolcondition)
if 1<2:
print('1 less than 2')代码块
类似于if语句的冒号后面的就是一个语句块 在if、for、def、class等关键字后使用代码块
多分支结构:if…elif…else语句
1
2
3
4
5
6
7
8
9if condition1:
代码块1
elif condition2:
代码块2
elif condition3:
代码块3
......
else:
代码块分支嵌套:单分支结构嵌套多分支结构
例如:给定一个不超过5位的正整数,判断其有几位1
2
3
4
5
6
7
8
9
10
11
12
13
14val = input('>>>')
val = int(val)
if val >= 1000: #fold
if val>=10000:
print(5)
else:
print(4)
else:
if val>=100:
print(3)
elif val >= 10:
print(2)
else:
print(1
循环语句
while语句
语法:1
2while condition:
block当条件满足即condition为True,进入循环体,执行block
例如:1
2
3
4flag=10
while flag:
print(flag)
flag -= 1for语句
语法:1
2for element in iteratable:
block当可迭代对象中有元素可以迭代,进入循环体,执行block
range函数: 创建一个整数列表
举例:打印1~101
2for i in range(10):
print(i+1)循环 else子句
语法:1
2
3
4
5
6
7
8
9while condition:
block
else:
block
for element in iteratable:
block
else:
block如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句不会执行
continue
中断当前循环的当次执行,继续下一次循环
举例:打印10以内的偶数1
2
3
4for i in range(10):
if i%2 == 1:
continue
print(i)break
终止当前循环
举例:计算1000以内的被7整除的前20个数1
2
3
4
5
6count = 0
for i in range(0,1000,7):
print(i)
count += 1
if count >= 20:
breakcontinue、break语句总结
- continue和break是循环的控制语句,只影响当前循环,包括while、for循环
- 如果循环嵌套, continue和break也只影响语句所在的那一层循环
- continue和break 不是跳出语句块,所以 if cond: break 不是跳出if,而是终止if外的break所在的循环