我正在学习python,我有一个程序可以将毫秒转换成小时、分钟和秒。我得到了与示例运行不同的错误输出。下面是问题和运行Question description and sample run的示例
我想出了下面的代码
def convertMillis(millis):
seconds=(millis/1000)%60
minutes=(millis/(1000*60))%60
hours=(millis/(1000*60*60))%24
return hours,minutes,seconds
def main():
millis=int(input("Enter time in milliseconds "))
con_hour,con_min,con_sec = convertMillis (millis)
print("%d:%d:%d" % (con_hour, con_min, con_sec))
main()当我使用示例运行中的值convertMillis(5500),convertMillis(100000)测试程序时,我得到了正确的值,但当我尝试这个convertMillis(555550000)时,我得到的是10:19:10,而不是154:19:10
下面是我的输出Output
发布于 2019-03-21 15:48:37
为了计算秒数,使用了% 60,这样秒数就是计入整数分钟后的剩余秒数(因此,如果我们总共有140秒,那么在2分钟内就会计入120秒)。同样,对于分钟,% 60是这样的:分钟数是计入整数小时后剩余的分钟数(因此,如果我们有450分钟,那么计入7小时后将剩下30分钟)。
但对于计算小时的最后一步,我们需要的是总小时数,而不是计算天数后剩下的小时数。所以我们只想:
hours = (millis // (1000 * 60 * 60))没有% 24的话。
请注意,/。为此,您需要//。否则你会得到浮点数:
>>> 421//60
7
>>> 421/60
7.016666666666667https://stackoverflow.com/questions/55275496
复制相似问题