while循环在条件为真时重复执行循环体,需手动更新条件变量以防死循环;执行流程为判断条件→执行代码→返回判断,直至条件为假。

while 循环是 Python 中最基础的循环结构,核心就一句话:只要条件为真(True),就重复执行循环体。 它不像 for 那样遍历序列,而是靠程序员自己控制“什么时候停”,灵活但容易写成死循环——关键在“条件判断”和“循环体内必须改变条件变量”。
while 的基本写法和执行逻辑
语法很简单:
while 条件表达式:
# 条件为 True 时执行的代码块
# 必须有能影响条件表达式的操作,否则会无限循环执行过程:先判断条件 → 如果为 True,执行缩进内的语句 → 执行完回到 while 开头重新判断 → 直到条件为 False 时跳出循环,继续执行后续代码。
别忘了更新循环变量,否则就是死循环
这是新手最常踩的坑。比如想打印 1 到 5:
立即学习“Python免费学习笔记(深入)”;
i = 1
while i <= 5:
print(i)
# ❌ 忘了写 i += 1 → i 始终是 1,条件永远成立,程序卡住正确写法:
- 初始化变量(如 i = 1)
- 设置合理终止条件(如 i )
- 在循环体中修改该变量(如 i += 1 或 i = i + 1)
用 while 处理不确定次数的操作
for 循环适合已知遍历对象(如列表、range),而 while 更适合“不知道要跑几次”的场景:
- 用户输入直到输入正确内容(比如密码重试)
- 读取文件直到遇到特定标记或文件结尾
- 游戏主循环:持续运行,直到玩家选择退出
- 传感器数据采集:持续读取,直到信号超限或手动中断
例如,让用户输入“yes”才继续:
answer = ""
while answer.lower() != "yes":
answer = input("请输入 yes 继续:")break 和 continue 在 while 中很实用
它们不改变 while 本身的条件判断逻辑,但能提前干预执行流程:
- break:立刻跳出整个 while 循环,执行后续代码
- continue:跳过本次循环剩余部分,直接回到 while 条件判断
小例子:打印 1~10,跳过 5,遇到 8 就停止:
i = 1
while i <= 10:
if i == 5:
i += 1
continue # 跳过 print(5)
if i == 8:
break # 不再继续,直接退出
print(i)
i += 1基本上就这些。while 循环不复杂,但容易忽略变量更新和边界条件——写之前先想清楚:初始值是什么?怎么变?什么时候停?










