while循环在条件为真时重复执行循环体,需手动更新条件变量以防死循环;执行流程为判断条件→执行代码→返回判断,直至条件为假。
while 循环是 Python 中最基础的循环结构,核心就一句话:只要条件为真(True),就重复执行循环体。 它不像 for 那样遍历序列,而是靠程序员自己控制“什么时候停”,灵活但容易写成死循环——关键在“条件判断”和“循环体内必须改变条件变量”。
语法很简单:
while 条件表达式:
# 条件为 True 时执行的代码块
# 必须有能影响条件表达式的操作,否则会无限循环执行过程:先判断条件 → 如果为 True,执行缩进内的语句 → 执行完回到 while 开头重新判断 → 直到条件为 False 时跳出循环,继续执行后续代码。
这是新手最常踩的坑。比如想打印 1 到 5:
i = 1
while i <= 5:
print(i)
# ❌ 忘了写 i += 1 → i 始终是 1,条件永远成立,程序卡住正确写法:
for 循环适合已知遍历对象(如列表、range),而 while 更适合“不知道要跑几次”的场景:
例如,让用户输入“yes”才继续:
answer = ""
while answer.lower() != "yes":
answer = input("请输入 yes 继续:")它们不改变 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 循环不复杂,但容易忽略变量更新和边界条件——写之前先想清楚:初始值是什么?怎么变?什么时候停?