问题描述
23:59:59 之后的时间是 01:00:00,但我想要 24:29:59 之后的 01:00:00
程序:
seconds = 56
minutes =59
hours = 23
import time
from turtle import *
setup()
t1 = Turtle()
while True:
t1.clear()
t1.write(str(hours).zfill(2) + ":" + str(minutes).zfill(2) +
":" + str(seconds).zfill(2))
seconds = seconds + 1
time.sleep(1)
if seconds == 60:
seconds = 0
minutes = minutes + 1
if minutes == 60:
minutes = 0
hours = hours + 1
if hours == 24:
hours = 0
hours = hours + 1
输出: 23:59:59/ 01:00:00/ 01:00:01
我想要的输出: 24:29:59/ 01:00:00/ 01:00:01
解决方法
你的时钟不遵循正常时间的规则,但如果你真的想要你所问的,请为小时重置添加一个 if 语句
if hours == 24 and minutes == 30:
hours = 1
minutes = 0
,
如果我理解正确的话,您希望您的时钟将午夜时间计算为 24,而不是 00,然后像往常一样移动到 01。您可以这样做,只需要更改您重置工作时间的位置。不是将 24
重置为 0
,而是要将 25
重置为 1
:
while True:
t1.clear()
t1.write(str(hours).zfill(2) + ":" + str(minutes).zfill(2) +
":" + str(seconds).zfill(2))
seconds = seconds + 1
time.sleep(1)
if seconds == 60:
seconds = 0
minutes = minutes + 1
if minutes == 60:
minutes = 0
hours = hours + 1
if hours == 25: # change here
hours = 1 # and here
没有理由先重置为零然后递增,如果你直接设置为 1 就更。