You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python自制计时器脚本运行满1分钟后秒数不重置问题求解

Python计时器问题排查与修复

问题诱因

代码第一次触发number == 60的判断逻辑后,会进入一个没有任何退出条件、也没有60秒阈值判断的嵌套无限while循环。进入该内层循环后,程序永远不会回到外层的阈值判断分支,因此秒数只会持续累加,不会再触发重置操作。
除此之外原代码还存在缩进不规范、import语句位置错误、冗余递归返回逻辑等问题,也会导致执行不符合预期。

修复方案

无需拆分多层循环,所有计数、输出、判断逻辑放在同一个循环内执行即可,修复后的代码如下:

import time

def ClockTimer():
    seconds = 0
    minutes = 0
    while True:
        time.sleep(1)
        seconds += 1
        # 适配第一分钟不显示分钟的输出需求
        if minutes == 0:
            print(f"{seconds} seconds")
        else:
            print(f"{minutes} minutes {seconds} seconds")
        # 到达60秒自动重置秒数、分钟数加1
        if seconds == 60:
            minutes += 1
            seconds = 0

# 直接调用函数即可,无需用print包裹
ClockTimer()

修改点说明

  • 删除了嵌套的内层无限循环,保证每次秒数累加后都会执行60秒阈值判断
  • 统一了输出逻辑,不需要分开处理第一分钟和后续分钟的打印逻辑,代码更简洁
  • 修正了原代码的缩进错误,将import语句放到全局位置,符合Python编码规范
  • 移除了冗余的返回和递归调用逻辑,避免不必要的执行异常

内容的提问来源于stack exchange,提问作者Synthx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:36:03