第 17 课 · 阶段二 · 基础语法
break / continue / else
循环控制三件套:break 提前退出、continue 跳过本轮、else 标记正常结束。这一课把它们一次讲清。
🎯 学完本课你将掌握
- 理解并正确使用 break
- 理解并正确使用 continue
- 掌握循环 else 的触发时机
一、break:立刻跳出整个循环
break 用法.py
1for i in range(1, 10):2 if i == 5:3 print("遇到5,提前退出")4 break5 print(i, end=" ")6# 输出:1 2 3 4 遇到5,提前退出二、continue:跳过本轮,继续下一轮
continue 用法.py
1for i in range(1, 8):2 if i % 2 == 0:3 continue # 偶数直接跳过4 print(i, end=" ")5# 输出:1 3 5 7(只打印奇数)三、break vs continue 对比
| 语句 | 作用 | 典型场景 |
|---|---|---|
| break | 终止整个循环 | 找到目标就停止查找 |
| continue | 跳过本次,进入下一次 | 跳过非法数据继续处理 |
四、循环 else:没被 break 才执行
循环 else.py
1# 找 7 是不是质数2n = 73for i in range(2, n):4 if n % i == 0:5 print(n, "不是质数")6 break7else:8 print(n, "是质数") # 循环没被break打断,走这里✅ 要点
for/while 后面的 else 很 Pythonic:它只在循环“自然结束”(没遇到 break)时执行,非常适合判断“是否找到/是否完成”。
五、综合实战:遍历字符串找目标
查找字符.py
1s = "python programming"2target = "o"3found = False4for ch in s:5 if ch == target:6 print(f"找到了字符 {target}")7 found = True8 break9if not found:10 print(f"没找到 {target}")六、常见错误与解决
常见错误与解决
| 错误现象 | 原因 / 解决方法 |
|---|---|
break 放错了地方 | break 只能跳出它所在的最内层循环;想跳出多层循环可用标志变量或封装成函数 return。 |
continue 导致死循环 | while 循环里 continue 前忘改变条件,会一直跳过。先计数再 continue。 |
else 结果和预期相反 | 检查是否有 break 走到了 else:break 触发则 else 不执行,这是设计好的。 |
✍️ 小练习
写程序:用户不断输入数字,输入 0 时 break 退出并输出总和;再用 continue 实现“只统计输入中的正数之和”。
📌 本节小结
break 立刻跳出循环、continue 跳过本轮、else 标记“没被 break 的正常结束”。三者配合能写出清晰高效的循环逻辑,是第 50 课项目里会反复用到的技巧。