while 基本结构
n = 0
while n < 5:
print(n)
n += 1
# 0 1 2 3 4
只要条件为 True 就一直转。忘记修改变量 = 死循环:
n = 0
while n < 5:
print(n) # 永远打印 0,死循环!
何时用 while
- 不知道要循环几次(条件控制)
- 等待某事件发生
- 写菜单 / 命令行交互
while True:
cmd = input("> ").strip()
if cmd == "exit":
break
print(f"你输入了: {cmd}")
知道循环次数(计数控制)→ 用 for n in range(...)。
break:立刻跳出循环
for n in range(100):
if n * n > 500:
print(f"{n} 的平方 > 500")
break
# 23 的平方 > 500
continue:跳过本次,继续下一轮
for n in range(10):
if n % 2 == 0:
continue # 跳过偶数
print(n)
# 1 3 5 7 9
while 经典模式:等用户输入有效
while True:
s = input("请输入年龄: ")
if s.isdigit():
age = int(s)
break
print("请输入数字")
print(f"年龄是 {age}")
while + else
跟 for 一样,正常退出走 else,break 退出不走:
n = 5
while n > 0:
print(n)
n -= 1
else:
print("倒数完毕")
用 while 还是 for:决策清单
| 场景 | 用哪个 |
|---|---|
| 遍历列表 / 字典 | for |
| 已知次数 | for + range |
| 用户交互菜单 | while True + break |
| 等待条件成立 | while 条件 |
| 读取直到文件结尾 | for line in file |
下一篇讲 Python 的招牌——推导式。