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

Python倒计时计时器升级:实现h:m:s格式动态倒计时

Python倒计时计时器升级实现

原代码存在的问题

  • 秒数归0后未正确重置为59,导致出现负数秒
  • 未处理分钟归0时的小时递减逻辑
  • 总秒数变量未随倒计时递减,会引发循环异常
  • 时间显示格式不规范,个位数无补零

修改后的代码

import os
import time

while True:
    wanna_continue = input("是否启动计时器?(y/n):> ")
    if "y" in wanna_continue.lower():
        hour = int(input("请输入小时数:> "))
        minute = int(input("请输入分钟数:> "))
        second = int(input("请输入秒数:> "))
        
        print("计时器开始.....")
        time.sleep(1)
        
        # 循环条件:只要时分秒不全为0就继续
        while hour > 0 or minute > 0 or second > 0:
            # 格式化显示h:m:s,个位数补零
            print(f"{hour:02d}:{minute:02d}:{second:02d}")
            time.sleep(1)
            os.system("cls")
            
            second -= 1
            # 处理秒数归0的情况
            if second < 0:
                second = 59
                minute -= 1
                # 处理分钟归0的情况
                if minute < 0:
                    minute = 59
                    hour -= 1
        
        print("TIMER STOP")
    elif "n" in wanna_continue.lower():
        print("祝你愉快 :) ")
        break
    else:
        print("请输入y表示是,n表示否 ")

关键修改说明

  • 时间显示优化:使用f"{hour:02d}:{minute:02d}:{second:02d}"实现固定两位的h:m:s格式,确保显示统一美观
  • 倒计时逻辑修正:
    • 秒数减到-1时,重置为59并将分钟减1
    • 分钟减到-1时,重置为59并将小时减1
  • 循环条件调整:直接判断时分秒是否全为0,替代原有的总秒数判断,逻辑更直观且避免循环异常
  • 变量名修正:将原代码的wanna_continiue改为正确拼写的wanna_continue

内容的提问来源于stack exchange,提问作者Saeed.H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:22:14