break:找到就走人
有时循环走到一半,目的就已经达到了。比如在一串数里找第一个 4,一旦找到,后面的根本不用看。break(中断)就是这个「紧急出口」:执行到它,立刻跳出整个循环,剩下的元素一个都不再访问。
nums = [3, 1, 4, 1, 5]
for n in nums:
if n == 4:
print("找到了")
break # 立刻退出整个循环
# 只打印一次,后面的 1、5 不再看这就是 break 的省力之处:找到目标就停止搜索,不做无用功。
continue:跳过这一个
另一种需求:挨个检查,这一个不合适就略过,但还要继续看下一个。continue(继续)就干这个:跳过本轮剩下的动作,直接进入下一轮,循环并不停止。
nums = [3, 1, 4, 1, 5]
for n in nums:
if n % 2 == 0: # 偶数
continue # 跳过本轮,看下一个
print(n)
# 输出 3 1 1 5(偶数 4 被跳过)关键:continue 之下、本轮缩进里的代码(这里是 print)都不会执行,但循环会照常走到末尾。
一眼看清两者的区别
| break | continue | |
|---|---|---|
| 作用 | 跳出整个循环 | 跳过本轮剩下的 |
| 循环还走吗 | 不走了,结束 | 继续走下一轮 |
| 类比 | 紧急出口·走人 | 跳过键·看下一个 |
选哪个,就看你是想退出整个循环,还是只想跳过当前这一个。
最常踩的三个坑
- 把 break 当 continue 用:想跳过一个,却写了 break,结果整个循环停了。
- 以为 continue 后面的代码还会跑:continue 一执行就立刻进入下一轮,它下面本轮缩进里的代码全被跳过。
- 忘了缩进:break / continue 必须缩进在循环体内(通常写在 if 里),顶格不缩进会报错或不起作用。