这套课程按知识依赖排列。本篇的前置知识是:第 16 篇。学完后,你应该能够在条件成立时重复执行并保证循环结束。
本篇要解决的问题
本篇只处理“while 循环与状态更新”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。
先看清一个容易误解的细节
while 每轮都经历“检查条件—执行循环体—更新状态—再次检查”。缺少状态更新时,条件可能永远成立,形成无限循环。
核心概念
- 进入循环前先准备参与条件判断的状态。
- 循环体中必须有机会让条件变为假。
- 能够预先确定遍历对象时,后续介绍的
for通常更直接。
跟着示例运行
把下面代码保存到本课脚本并运行:
count = 1
while count <= 3:
print("第", count, "次练习")
count = count + 1
print("练习结束")
预期结果:
第 1 次练习
第 2 次练习
第 3 次练习
练习结束
输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。
按执行顺序拆开看
- 进入循环前
count为 1,每轮开头判断它是否仍小于等于 3。 - 循环体末尾把
count增加 1;当它变成 4 时条件为假,解释器跳到循环后的语句。
再看一个具体细节
追踪循环时,可以把每轮开始值、判断结果和更新后值写成表格。
第4次检查时 count 已经是4,条件为假,因此不会产生“第4次练习”的输出。
初学者容易混淆的地方
- 漏掉状态更新,条件永远为真,只能手动中断程序。
- 更新方向写反,例如条件要求递增退出却不断递减。设计循环时先写出状态如何接近结束条件。
练习
- 使用
while输出 1 到 5。 - 计算 1 到 10 的累加和。
练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。
本篇边界
本篇目标是在条件成立时重复执行并保证循环结束。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。
相关文章
01|Python 程序从源码到输出经历了什么
面向按顺序学习 Python 的初学者,本篇在零基础上,帮助读者理解源代码、解释器和输出之间的关系。
02|在 macOS 安装并确认 Python 3 环境
面向按顺序学习 Python 的初学者,本篇在第 01 篇知识上,帮助读者在 macOS 中确认 Python 3.14 和 pip 是否可用。
03|交互式解释器和 Python 脚本怎么选择
面向按顺序学习 Python 的初学者,本篇在第 02 篇知识上,帮助读者根据任务选择 REPL 或 `.py` 脚本。
04|建立第一个 Python 项目目录
面向按顺序学习 Python 的初学者,本篇在第 03 篇知识上,帮助读者理解当前目录并正确运行项目脚本。

