我的完整施工计划
已完成专题:
1.我的施工计划
2.数字专题
3.字符串专题
4.列表专题
今天流程控制专题 流程控制与代码的执行顺序息息相关,流程控制相关的关键字,如if
,elif
,for
,while
,break
,continue
,else
,return
,yield
,pass
等。
本专题详细总结与流程控制相关的基础和进阶用法,大纲如下:
- 基础用法
- 1 if 用法
- 2 for 用法
- 3 while,break,continue
- 进阶用法
- 4 for 使用注意
- 5 range 序列
- 6 Python特色:循环与else
- 7 pass 与接口
- 8 return 和 yield
- 9 短路原则
- 总结
基础用法
专题的开始,先总结与流程控制相关的基础用法。
1 if 用法
if
对应逻辑控制的条件语句,它的基本结构可以表示为:如果满足某个条件,则怎么怎么样。
如下函数maxChunksToSort
中,如果满足当前数组nums
的索引i
等于区间[0,i]
的最大值,则[0,i]
区间能被分割为一个Chunk.
def maxChunksToSort(nums):
maxn, count = nums[0], 0
for i,num in enumerate(nums):
maxn = max(maxn, num)
if i == maxn:
count += 1
return count
if
后的语句指定了一个条件,若满足if
则,:
后的语句成立。
如果if
不满足,再使用elif
判断其他情况,可以一直写elif
,若是最后一个判断条件,可使用else
,其基本结构为:
if A:
print('condition A meets')
elif B:
print('condition B meets')
elif C:
print('condition C meets')
else:
print('other conditions meets')
2 for 用法
Python的for
除了具备控制循环次数外,还能直接迭代容器中的元素。
控制循环次数:
for i in range(1, len(nums)):
print(i)
还能直接操作容器内的元素:
a = [1, [2, 4], [5, 7]]
for item in a:
print(item)
3 while,break,continue
while
后面紧跟一个判断条件,若满足条件则会一直循环,直到不满足条件时退出。但这不是绝对的,如果while后的语句块内含有break
,即便条件依然满足,但遇到break
也会一样退出。
如下检测输入是否为整数,直到输入整数时,执行break
退出while
循环:
while True:
a &