Python

19|break、continue 与循环结束条件

面向按顺序学习 Python 的初学者,本篇在第 17、18 篇知识上,帮助读者跳过本次迭代或提前结束整个循环。

◉ 1.2k 字◌ 8 分钟♙ 郑在混

这套课程按知识依赖排列。本篇的前置知识是:第 17、18 篇。学完后,你应该能够跳过本次迭代或提前结束整个循环。

本篇要解决的问题

本篇只处理“break、continue 与循环结束条件”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。

先看清一个容易误解的细节

continue 与 break 的路径

continue 只结束当前这一轮,程序回到下一轮判断;break 立即结束整个循环,执行循环后面的代码。

核心概念

  • 先写普通循环,再在确有需要时加入流程控制语句。
  • continue 前要确认不会跳过 while 循环中的状态更新。
  • 多层嵌套中 break 只结束它所在的最内层循环。

跟着示例运行

把下面代码保存到本课脚本并运行:

numbers = [3, -1, 0, 8, 12]

for number in numbers:
    if number < 0:
        continue
    if number == 0:
        break
    print(number)

print("循环结束")

预期结果:

3
循环结束

输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。

按执行顺序拆开看

  1. 遇到 -1 时 continue 立即结束本轮,后面的判断和输出都不执行。
  2. 遇到 0 时 break 结束整个循环,因此列表后面的 8 和 12 不再处理。

初学者容易混淆的地方

  • continue 当作结束循环,实际它只跳到下一轮。
  • while 中把状态更新放在可能被 continue 跳过的位置,造成无限循环。

练习

  1. 跳过列表中的空字符串并输出其他内容。
  2. 在 1 到 100 中找到第一个能被 17 整除的数后结束循环。

练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。

本篇边界

本篇目标是跳过本次迭代或提前结束整个循环。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。

相关文章

© 2026 郑在混知识库 · 已运行 46 天 · 豫ICP备2026037626号-1