Python实现循环超时自动跳出:解决函数内脚本卡顿问题
循环超时终止的实现方案
要解决循环超时后自动执行下一行代码的问题,你可以通过记录循环启动时间、每次循环检查超时状态的方式实现,同时添加短暂延时避免频繁按键导致卡顿。
核心思路
- 记录循环开始的时间戳
- 在
while循环中同时判断两个条件:等级未到5级 且 未超过指定时限 - 每次执行按键操作后添加短延时,降低系统负载
修改后的代码示例
import time if self.round == "2-5": # 修正原代码的匹配逻辑,确保精准命中目标回合 """Levels to 5 at 2-5""" timeout_seconds = 10 # 自定义超时时间,比如设置为10秒 start_time = time.time() # 同时判断等级条件和超时条件 while arena_functions.get_level() < 5 and (time.time() - start_time) < timeout_seconds: self.arena.buy_xp_round() # 执行F键按下操作 time.sleep(0.1) # 每次按键后添加短延时,避免脚本卡顿 current_level = arena_functions.get_level() if current_level >= 5: print(f"\n[LEVEL UP] Lvl. {current_level}") else: print(f"\n[TIMEOUT] 未在{timeout_seconds}秒内升到5级,当前等级: {current_level}") self.arena.fix_bench_state() # 执行下一行代码
关键细节说明
- 超时时间调整:
timeout_seconds可根据实际需求修改,比如延长到15秒 - 延时作用:
time.sleep(0.1)能避免短时间内高频调用按键函数,减少系统资源占用 - 回合匹配修正:原代码
self.round in ("2-5")逻辑错误,("2-5")是单个字符串,若需匹配2到5回合,可改为self.round in ["2","3","4","5"]
内容的提问来源于stack exchange,提问作者Sizzles
相关产品推荐
相关产品推荐

