while循环用于条件为真时重复执行代码,需设初始条件、更新条件语句和正确缩进;适合处理不确定次数的任务,如等待文件生成或校验用户输入,并应添加超时或计数器防死循环。

工作繁琐,重复操作多?用 while 循环让 Python 自动帮你“一直做下去”,直到条件满足才停——不用手动点十次、百次,代码跑一遍就搞定。
while 循环:只要条件为真,就不停执行
while 循环的核心就一句话:先判断,再执行。只要括号里的条件是 True,里面的代码块就会一遍又一遍地运行;一旦条件变成 False,立刻跳出循环,继续往下走。
写的时候注意三点:
- 必须有初始条件(比如设置一个计数器)
- 循环体里得有能改变条件的语句(比如 i += 1),否则容易无限循环
- 缩进要对齐,Python 靠缩进来识别哪些代码属于循环体
处理不确定次数的任务,while 比 for 更自然
for 循环适合“已知范围”的场景(比如遍历列表、循环 10 次)。但工作中很多事没法提前数清次数:比如等文件生成好、等网页加载完成、等用户输入合法内容……这时候 while 就派上用场了。
立即学习“”;
举个实际例子:自动检查某个 Excel 文件是否导出完毕
使用Canva可画,轻松创建专业设计
2388
import os import time <p>file_path = "report.xlsx" while not os.path.exists(file_path): # 文件还没出现? print("还在等报表生成...") time.sleep(2) # 每2秒查一次,不狂刷系统 print("报表已就位,开始处理!")</p>
避免死循环:加个安全阀很必要
真实环境总有意外。比如网络延迟、路径写错、权限不足,都可能让 while 条件永远不成立。建议加上超时或最大尝试次数:
- 用计数器限制最多试 30 次
- 用 time.time() 记录起始时间,超过 5 分钟就主动退出
- 配合 break 主动跳出,逻辑更清晰
小技巧:在循环末尾加一句 print(f”第 {i} 次尝试”),调试时一眼看清卡在哪。
和 input 搭配,做交互式数据校验
录入数据时总怕输错?用 while 把关,输对了才放行:
age = "" while not age.isdigit() or int(age) < 1 or int(age) > 120: age = input("请输入有效年龄(1-120之间的整数):") print(f"收到,年龄是 {age} 岁。")
这段代码会一直问,直到用户输入合规数字。比写一堆 if 判断清爽得多。
基本上就这些。while 循环不复杂,但容易忽略“更新条件”和“兜底机制”。用好了,那些等、重试、校验类的琐事,真能少操一半心。
以上就是工作繁琐?试试Python循环语句(while循环篇)的详细内容,更多请关注php中文网其它相关文章!
微信扫一扫打赏
支付宝扫一扫打赏
