正确的python代码可以一起输入两次而没有错误

时间:2018-09-22 02:47:15

标签: python

我正在研究一个与时钟算法有关的项目,其中涉及让用户输入两次,然后程序将这两次相加。该程序已正常运行,并且两次以正确的格式相加。但是,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)

1 个答案:

答案 0 :(得分:1)

您需要将RemSec添加到Minutes1 + Minutes2

RemMin = (Minutes1 + Minutes2 + RemSec) // 60

您有Minutes1 + Minutes2 = 59,这意味着59 // 60 = 0,如果您添加RemSec = 1,然后再加上RemMin = 1,那么您就会错过小时。