第 15 课 · 阶段二 · 基础语法
while 循环
重复劳动交给循环。这一课掌握 while 循环:语法、计数器、无限循环与如何安全退出。
🎯 学完本课你将掌握
- 写出 while 循环并正确控制终止条件
- 用计数器实现“循环 N 次”
- 识别并避免无限循环
一、while 语法
while 后面的条件为 True 时,就反复执行缩进块,直到条件变 False。注意:条件不会自动变化,需要在循环体内手动改变它。
while 基础.py
1count = 12while count <= 5:3 print("第", count, "次循环")4 count += 1 # 计数器+1,改变条件5print("循环结束,count =", count)二、累加求和
求和.py
1# 计算 1 + 2 + ... + 1002total = 03n = 14while n <= 100:5 total += n6 n += 17print("1到100的和 =", total) # 5050三、无限循环与强制退出
⚠️ 注意
如果条件永远为 True 且循环体内不改变它,就会无限循环(俗称死循环),程序卡死不退出。
死循环示例(别运行!)
1# while True:2# print("我出不去了")3# # 没有 break,也没有改变条件 —— 死循环!✅ 要点
遇到死循环:在终端按 Ctrl+C 强制中断程序。记住两个逃生通道:① 循环体内让条件最终变 False;② 用 break 提前退出(第 17 课)。
四、用户输入控制的循环
猜数字.py
1secret = 72print("猜一个 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 = 52while n > 0:3 print(n)4 n -= 15else: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 循环。