第 15 课 · 阶段二 · 基础语法

while 循环

重复劳动交给循环。这一课掌握 while 循环:语法、计数器、无限循环与如何安全退出。

第 15 课阶段二 · 基础语法难度:入门建议时长:30 分钟关键词:while · 无限循环 · 循环控制

🎯 学完本课你将掌握

  • 写出 while 循环并正确控制终止条件
  • 用计数器实现“循环 N 次”
  • 识别并避免无限循环

一、while 语法

while 后面的条件为 True 时,就反复执行缩进块,直到条件变 False。注意:条件不会自动变化,需要在循环体内手动改变它。

while 基础.py
1count = 1
2while count <= 5:
3 print("第", count, "次循环")
4 count += 1 # 计数器+1,改变条件
5print("循环结束,count =", count)

二、累加求和

求和.py
1# 计算 1 + 2 + ... + 100
2total = 0
3n = 1
4while n <= 100:
5 total += n
6 n += 1
7print("1到100的和 =", total) # 5050

三、无限循环与强制退出

⚠️ 注意
如果条件永远为 True 且循环体内不改变它,就会无限循环(俗称死循环),程序卡死不退出。
死循环示例(别运行!)
1# while True:
2# print("我出不去了")
3# # 没有 break,也没有改变条件 —— 死循环!
✅ 要点
遇到死循环:在终端按 Ctrl+C 强制中断程序。记住两个逃生通道:① 循环体内让条件最终变 False;② 用 break 提前退出(第 17 课)。

四、用户输入控制的循环

猜数字.py
1secret = 7
2print("猜一个 1-10 的数字")
3while True:
4 guess = int(input("你猜:"))
5 if guess == secret:
6 print("猜对啦!")
7 break # 猜对就退出循环
8 elif guess < secret:
9 print("太小了")
10 else:
11 print("太大了")

五、while ... else

循环正常结束(没被 break 打断)时会执行 else 块,可用来标记“是否被中断”。

while else.py
1n = 5
2while n > 0:
3 print(n)
4 n -= 1
5else:
6 print("循环正常跑完了,没有 break") # 会打印

六、常见错误与解决

常见错误与解决

错误现象原因 / 解决方法
程序卡住不动(死循环)检查循环体内是否改变条件、是否漏了计数器 +1;用 Ctrl+C 中断。
无限输出同一个数字counter += 1 写成了 counter = 1,条件永远成立。
循环一次都不执行初始条件就是 False,例如 while n > 10 而 n=1。
✍️ 小练习
用 while 计算 1 到 50 内所有偶数的和;再用 while 做一个“输入 q 退出”的菜单循环。
📌 本节小结
while 条件为真就循环,关键在“改变条件避免死循环”;计数器实现定次循环、累加器实现求和、break 提前退出、else 标记正常结束。下一课学更优雅的 for 循环。