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 的招牌——推导式