我正在研究一个与时钟算法有关的项目,其中涉及让用户输入两次,然后程序将这两次相加。该程序已正常运行,并且两次以正确的格式相加。但是,00:50:30 + 00:09:30无法正常工作。它给了我时间“ 00:00:00”,而不是“ 01:00:00”。这对我来说很奇怪,因为所有其他时间在程序中都可以正常运行。非常感谢您的帮助,只需稍作调整,便可以将“ 00:50:30 + 00:09:30”加在一起以获得“ 1:00:00”。我的程序的代码粘贴在下面。再次感谢你的帮助。我认为对程序的一小部分调整就是我在这里需要的。谢谢。代码::
clocktime1 = input('Enter time 1:')
clocktime2 = input('Enter time 2:')
split1 = clocktime1.split(':')
split2 = clocktime2.split(':')
Hours1 = int(split1[0])
Minutes1 = int(split1[1])
Seconds1 = int(split1[2])
Hours2 = int(split2[0])
Minutes2 = int(split2[1])
Seconds2 = int(split2[2])
TotalSeconds = (Seconds1 + Seconds2)%60
RemSec = (Seconds1 + Seconds2)//60
TotalMinutes = (Minutes1 + Minutes2 + RemSec)%60
RemMin = (Minutes1 + Minutes2)//60
TotalHours = (Hours1 + Hours2 + RemMin)%24
TotalHours = str(TotalHours).zfill(2)
TotalMinutes = str(TotalMinutes).zfill(2)
TotalSeconds = str(TotalSeconds).zfill(2)
FinalTime = (TotalHours + ":" + TotalMinutes + ":" + TotalSeconds)
print(clocktime1,'+',clocktime2,'=', FinalTime)
答案 0 :(得分:1)
您需要将RemSec
添加到Minutes1 + Minutes2
:
RemMin = (Minutes1 + Minutes2 + RemSec) // 60
您有Minutes1 + Minutes2 = 59
,这意味着59 // 60 = 0
,如果您添加RemSec = 1
,然后再加上RemMin = 1
,那么您就会错过小时。