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
相关产品推荐
相关产品推荐

