PYTHON KNOWLEDGE · 02
条件、循环与程序流程
准确理解 if、for、while、range、break、continue 和循环嵌套,而不是背代码模板。
GESP 1 级GESP 2 级
01 · FORMAL DEFINITION
正式定义
控制流决定下一条要执行的语句。分支依据布尔条件选择路径;循环在满足规则时重复执行代码块。Python 用冒号和缩进界定代码块。
02 · MUST KNOW
学完这一章,必须说清楚的规则
- 01
if/elif/else 从上到下判断,只执行第一个为真的分支;else 不写条件。
- 02
for 依次取得可迭代对象中的元素;range(start, stop, step) 包含 start、不包含 stop,step 不能为 0。
- 03
while 在每轮开始前检查条件;循环体必须让状态向终止条件推进。
- 04
break 结束最内层循环,continue 跳过本轮剩余语句,循环的 else 仅在没有被 break 终止时执行。
- 05
嵌套循环的总执行次数通常需要把各层次数相乘;内层 break 不会结束外层循环。
- 06
边界测试至少覆盖空范围、单个元素、第一项命中、最后一项命中和始终不命中。
03 · RUNNABLE EXAMPLE
可运行示例与因果解释
target = 7
for value in range(1, 11):
if value == target:
print("找到", value)
break
else:
print("没有找到")COMMON PITFALLS
常见误区
- range 的右端点多算或少算一次
- while 忘记更新状态造成死循环
- 把两个互斥条件写成两个独立 if
- 误以为 break 会跳出所有嵌套循环
SCOPE & BOUNDARIES
适用边界
- 流程图是算法的表示方法,不是 Python 语法。
- 递归也能表达重复,但有调用开销和递归深度限制,不能无条件代替循环。