Python While 循环语句
Python 的 while
循环语句用于在指定条件为 True
时重复执行一段代码块,直到条件变为 False
或通过 break
语句退出循环。它是 Python 中实现循环控制的一种基本结构,适合在循环次数不确定的情况下使用。
基本语法
while condition:
# 代码块
# 在条件为 True 时执行
- condition:一个布尔表达式,决定是否继续循环。
- 代码块:缩进的代码,在条件为
True
时重复执行。
工作原理
- 检查
condition
是否为True
。 - 如果为
True
,执行代码块,然后返回第 1 步。 - 如果为
False
,退出循环,继续执行后续代码。
示例
1. 基本 while 循环
count = 1
while count <= 5:
print(f"Count is {count}")
count += 1
输出:
Count is 1
Count is 2
Count is 3
Count is 4
Count is 5
2. 使用 break 退出循环
num = 1
while True: # 无限循环
if num > 3:
break # 退出循环
print(num)
num += 1
输出:
1
2
3
3. 使用 continue 跳过本次循环
num = 0
while num < 5:
num += 1
if num % 2 == 0: # 跳过偶数
continue
print(f"Odd number: {num}")
输出:
Odd number: 1
Odd number: 3
Odd number: 5
4. 使用 else 语句
while
循环可以搭配 else
语句,当循环条件变为 False
时执行 else
块(break
退出时不会执行)。
count = 1
while count <= 3:
print(f"Count: {count}")
count += 1
else:
print("Loop ended")
输出:
Count: 1
Count: 2
Count: 3
Loop ended
5. 无限循环(需谨慎)
while True:
user_input = input("Enter 'quit' to exit: ")
if user_input == 'quit':
break
print(f"You entered: {user_input}")
注意事项
- 避免死循环:确保循环条件最终会变为
False
,否则可能导致程序卡死。例如:
while True: # 错误:无退出条件
print("Infinite loop!")
- 性能:循环体内的代码应尽量高效,避免不必要的计算。
- 变量更新:确保条件依赖的变量(如
count
)在循环中被正确更新。 - 调试:使用
print
或调试工具检查循环变量的变化。
常见使用场景
- 处理未知次数的循环:如读取文件直到结束。
- 等待用户输入:如交互式程序。
- 游戏循环:如检测游戏状态直到满足退出条件。
- 数据处理:如逐行处理数据直到符合某个条件。
与 for 循环的区别
while
循环适合条件驱动的循环,次数未知。for
循环适合已知次数或迭代可迭代对象(如列表、字符串)。
扩展示例
计算 1 到 100 的和
total = 0
num = 1
while num <= 100:
total += num
num += 1
print(f"Sum: {total}")
输出:Sum: 5050
验证用户输入
while True:
age = input("Enter your age (0-120): ")
if age.isdigit() and 0 <= int(age) <= 120:
print(f"Valid age: {age}")
break
else:
print("Invalid input, try again")
总结
Python 的 while
循环简单灵活,适合处理动态条件的循环任务。通过 break
、continue
和 else
,可以精确控制循环行为。需要注意避免死循环并确保条件逻辑清晰。
如果需要更复杂的示例(如嵌套 while
循环、结合列表操作等)或针对特定场景的代码,请告诉我!