四时宝库

程序员的知识宝库

Python自动化办公应用学习笔记18—— while循环

1. 定义

while循环(条件循环/无限循环)是 Python 中基于条件判断的循环结构。它不需要预先知道循环次数,只要条件满足就会持续执行代码块,直到条件变为 False 时停止。特别适合处理动态变化无法预知终点的任务。

核心特点

· 条件驱动:循环由布尔表达式控制

· 动态执行:循环次数在运行时确定

· 灵活退出:可通过条件变化或 break 终止

2. 语法结构

# 基础语法

while 条件表达式: # 结果为 True 或 False

循环体代码

更新条件变量 # 避免死循环的关键!


# 扩展语法(带 else)

while 条件表达式:

循环体代码

else:

循环正常结束后执行的代码 # 被 break 中断时不执行

3. 适用场景

1) 未知循环次数:如用户交互(输入验证)、网络请求重试。

2) 实时监控:如文件变化监听、传感器数据采集。

3) 游戏循环:如回合制游戏的持续运行。

4) 循环类型选择原则


4. 使用技巧

# 技巧1:设置安全计数器(防死循环)

max_retries = 5

attempts = 0

while attempts < max_retries:

attempts += 1

# 尝试执行操作...


# 技巧2:使用 break 提前退出

while True:

data = get_data()

if data == "STOP":

break # 遇到终止信号立即退出


# 技巧3:continue 跳过当前迭代

while processing:

if item.is_invalid():

continue # 跳过无效项

process(item)

# 技巧4:死循环预防:务必在循环体内更新条件变量

while True: # 无退出条件,程序会卡死

print("这是一个死循环!")


# 技巧5:资源消耗控制:监控类循环添加延迟

import time

while waiting_for_file:

if file_exists(): break

time.sleep(5) # 每5秒检查一次,避免CPU满载


5. 项目实战:

用户输入验证

while True:

age = input("请输入您的年龄(输入q退出):")

if age.lower() == 'q':

break # 输入q时退出循环

if age.isdigit() and int(age) > 0:

print(f"您的年龄是:{age}岁")

else:

print("输入无效,请重新输入!")

else:

print("感谢使用年龄验证系统!")

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接