正在加载...

跳出循环或跳过一轮

break 立刻离开循环,哪怕问题还是 True。continue 不离开。它只跳过自己下面的那些行,仅这一轮,然后问题会再问一次。while 那一页是在等问题变成 False。print("done") 和 while 对齐,所以在循环外面:break 之后执行一次,循环自己结束时也执行一次。

cups 从 0 开始,问题是 cups < 5。每一轮先写出数字。数字是 2 时,break 执行。cups = cups + 1 写在 break 下面,这一轮不会执行。2 仍然小于 5。问题并没有不过。循环还是结束了。

写出 2 之后离开

python
cups = 0
while cups < 5:
    print(cups)
    if cups == 2:
        break
    cups = cups + 1
print("done")

你会看到 0,然后 1,然后 2,然后 done。没有 3,也没有 4。cups 里是 2。这个 2 已经写出来了,循环在数字往前走之前离开了。

跳过一轮,人还留在循环里

continue 只有在跳过之前数字已经往前走,才不会卡住。否则你想跳过的那个值停住不动,问题一直是 True,循环不会结束。这里循环里的第一行先加 1。数字变成 2 时,continue 只跳过这一轮的 print。循环回到 cups < 4。下一轮把数字变成 3,3 会被写出来。

跳过 2,继续往下

python
cups = 0
while cups < 4:
    cups = cups + 1
    if cups == 2:
        continue
    print(cups)
print("done")

你会看到 1,然后 3,然后 4,然后 done。缺的是 2。done 还在,因为 continue 没有离开循环。问题后来自己不过了,外面那一行执行了一次。

同一个 break,这次放在 print 前面

把 break 放到 print 上面。走到 2 的那一轮,什么都还没写就离开了。done 仍然执行,因为它和 while 对齐。

写出 2 之前离开

python
cups = 0
while cups < 5:
    if cups == 2:
        break
    print(cups)
    cups = cups + 1
print("done")

你会看到 0,然后 1,然后 done。cups 还是 2,但这次这个 2 没有被写出来。两段程序只差 break 的位置。

如果把 continue 写在 cups = cups + 1 上面,跳过可能把数字冻在原地。cups 停在你本来要跳过的值上,问题一直是 True,循环不会结束。不要运行这种排法。先让数字往前走。再决定这一轮要不要跳过 continue 下面的行。

break 和 continue 用小写。大写的 Break 或 Continue 是 Python 不认识的名字,程序会停。下一页给走过的每一项编号,并把两条列表配成对。不用这两个词。

先算再运行

  1. 第一段程序先写数字,cups 到 2 时 break。出现什么,之后 cups 里是什么?
  2. continue 那段在跳过之前先加 1。写出哪些数,有没有 done?
  3. 第三段在 print 之前离开。屏幕上有 2 吗?
  4. 你把 continue 挪到 cups = cups + 1 上面,跳过的条件仍然成立。循环结束吗?

结果会变的地方

  • 已经写了 break,还在等 cups < 5 不过
  • break 已经在 2 执行了,却还等着 3 和 4
  • 数字还没往前走就把 continue 放上去
  • 把 break 下面的一行当成已经执行
  • 把 Break 或 Continue 写成大写

一次读完

break 马上离开。while 的问题仍可以是 True。和 while 对齐的那一行会执行,break 下面的那一行不会。
break 在 print 后面,你会看到 0、1、2,然后 done,cups 停在 2。break 在 print 前面,你会看到 0、1,然后 done,cups 仍是 2。
continue 只跳过自己下面的行,而且只跳这一轮。数字先往前走,你会看到 1、3、4,然后 done,没有 2。
数字不往前走,continue 会让问题一直是 True,循环不会结束。
下一页给每一项编号,并把两条列表配成对。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
4
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部