python-while循环
文章目录
- 1、基本用法
- 2、简单示例
- 3、重要特性
- 控制语句
- break
- contiue
- else子句细节
- 关键区别总结
- 典型用途
- 结论
while 循环是 Python 中的一种基本循环结构,它会在条件为真时重复执行代码块。
1、基本用法
while 条件表达式:# 循环体代码
2、简单示例
count = 0
while count < 5:print(f"当前计数: {count}")count += 1
输出结果:
当前计数: 0
当前计数: 1
当前计数: 2
当前计数: 3
当前计数: 4
3、重要特性
1、条件检查:每次循环开始前都会检查条件
2、无限循环:如果条件永远为真,循环将无限执行
while True:print("这是一个无限循环")
3、else 子句:while 循环可以有一个可选的 else 块,当条件变为假时执行
count = 0
while count < 3:print(count)count += 1
else:print("循环结束")
控制语句
break
立即退出整个循环
while True:user_input = input("输入 'exit' 退出: ")if user_input == 'exit':break
contiue
跳过当前迭代,进入下一次循环
num = 0
while num < 5:num += 1if num == 3:continueprint(num)
else子句细节
在 Python 的 while 循环中,else 语句和直接在循环结束后执行的语句 看起来效果类似,但有一个关键区别。
- while-else 的执行条件
1.1 else 块 仅在循环正常结束时执行(即 while 条件变为 False 时)。
1.2 如果循环被 break 语句提前终止,else 块 不会执行。
示例 1:循环正常结束(执行 else)
count = 0
while count < 3:print(count)count += 1
else:print("循环正常结束")
输出:
0
1
2
循环正常结束
示例 2:循环被 break 终止(不执行 else)
count = 0
while count < 3:if count == 1:break # 提前退出print(count)count += 1
else:print("循环正常结束") # 不会执行
输出:
0
(else 不执行,因为 break 提前终止了循环)
2. 直接在 while 循环后写语句
2.1 无论循环是否 break,都会执行(除非程序异常终止)。
2.2 相当于 finally 的效果,总是运行。
count = 0
while count < 3:if count == 1:breakprint(count)count += 1
print("循环结束(无论是否 break)") # 总是执行
输出:
0
循环结束(无论是否 break)
(即使 break 了,后面的 print 仍然执行)
关键区别总结
情况 | while-else | 直接写在 while 后 |
---|---|---|
循环正常结束(条件变 False) | ✅ 执行 | ✅ 执行 |
循环被 break 终止 | ❌ 不执行 | ✅ 执行 |
适用场景 | 检查循环是否完整执行 | 无论是否 break 都执行 |
典型用途
while-else:适合检查循环是否完整完成(如搜索时未找到目标):
found = False
while items:item = items.pop()if item == target:found = Truebreak
else:print("未找到目标") # 仅当循环完整执行(未 break)时运行
直接写语句:适用于无论如何都要执行的代码(如清理资源):
while condition:# do somethingif error:break
cleanup() # 无论是否 break,都要执行
结论
1、如果你希望代码 仅在循环完整执行时运行,用 while-else。
2、如果你希望代码 无论是否 break 都运行,直接写在 while 后面。