python while循环
一、while循环核心定义
while循环是Python中基于条件判断的循环结构:只要条件表达式为True,就会重复执行循环体代码,直到条件变为False时停止。
核心语法:
while 条件表达式:
# 循环体(需要缩进,通常4个空格)
要重复执行的代码块
# 可选:改变条件的代码(避免死循环)
二、基础用法(从简单到复杂)
1. 最基础的计数循环
实现“重复执行N次”的功能,类似for循环的基础用法:
# 示例:循环打印1-5
count = 1 # 初始化计数器
while count <= 5:
print(f"当前计数:{count}")
count += 1 # 计数器自增(关键:否则会无限循环)
# 输出:
# 当前计数:1
# 当前计数:2
# 当前计数:3
# 当前计数:4
# 当前计数:5
2. 条件触发的循环
根据动态条件执行循环,比如“用户输入正确才停止”:
# 示例:让用户输入正确密码才退出
password = "123456"
user_input = ""
while user_input != password:
user_input = input("请输入密码:")
if user_input != password:
print("密码错误,请重新输入!")
print("密码正确,登录成功!")
# 运行效果:
# 请输入密码:123
# 密码错误,请重新输入!
# 请输入密码:123456
# 密码正确,登录成功!
3. 无限循环(可控退出)
用while True创建无限循环,通过break语句主动退出,适合“不确定循环次数”的场景:
# 示例:简易计算器,输入q退出
while True:
# 获取用户输入
num1 = input("请输入第一个数字(输入q退出):")
if num1.lower() == "q":
print("计算器退出!")
break # 退出循环
num2 = input("请输入第二个数字:")
# 简单加法(忽略异常处理,仅演示)
print(f"结果:{float(num1) + float(num2)}")
# 运行效果:
# 请输入第一个数字(输入q退出):5
# 请输入第二个数字:3
# 结果:8.0
# 请输入第一个数字(输入q退出):q
# 计算器退出!
三、while循环的关键控制语句
| 语句 | 作用 |
|---|---|
break |
立即终止整个while循环,跳出循环体 |
continue |
跳过当前循环的剩余代码,直接回到条件判断处,开始下一次循环 |
else |
循环正常结束(未被break中断)时,执行else块中的代码(可选) |
示例:结合break/continue/else的完整用法
# 示例:遍历1-10,打印偶数,遇到7终止,正常结束则提示
num = 0
while num < 10:
num += 1
if num == 7:
print("遇到7,终止循环!")
break # 终止循环
if num % 2 != 0:
continue # 跳过奇数,直接进入下一次循环
print(f"偶数:{num}")
else:
# 只有循环未被break中断时,才会执行这里
print("循环正常结束,未遇到7!")
# 输出:
# 偶数:2
# 偶数:4
# 偶数:6
# 遇到7,终止循环!
四、常见坑与避坑技巧
-
死循环:忘记修改条件变量(如计数器不自增),导致条件永远为True。
✅ 避坑:循环体内必须有改变条件的代码(如count += 1),或用break可控退出。 -
缩进错误:循环体未缩进,或缩进不一致(混合空格和Tab)。
✅ 避坑:统一用4个空格缩进,IDE会自动提示缩进问题。 -
条件表达式错误:比如把
==写成=(赋值),导致条件永远为True。
✅ 避坑:检查条件表达式,赋值操作不要出现在while条件中。
总结
while循环的核心是条件驱动,适合“不确定循环次数”的场景(如用户输入验证、动态条件判断);- 控制循环的关键:用
count += 1修改条件,或用break/continue灵活控制流程; - 避免死循环是使用while循环的首要注意事项,循环体内必须有“让条件最终变为False”的逻辑。

浙公网安备 33010602011771号