首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python程序将毫秒转换为小时、分钟和秒逻辑错误

问Python程序将毫秒转换为小时、分钟和秒逻辑错误
EN

Stack Overflow用户
提问于 2019-03-21 15:24:26
回答 1查看 40关注 0票数 0

我正在学习python,我有一个程序可以将毫秒转换成小时、分钟和秒。我得到了与示例运行不同的错误输出。下面是问题和运行Question description and sample run的示例

我想出了下面的代码

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-21 15:48:37

为了计算秒数,使用了% 60,这样秒数就是计入整数分钟后的剩余秒数(因此,如果我们总共有140秒,那么在2分钟内就会计入120秒)。同样,对于分钟,% 60是这样的:分钟数是计入整数小时后剩余的分钟数(因此,如果我们有450分钟,那么计入7小时后将剩下30分钟)。

但对于计算小时的最后一步,我们需要的是总小时数,而不是计算天数后剩下的小时数。所以我们只想:

代码语言:javascript
复制
hours = (millis // (1000 * 60 * 60))

没有% 24的话。

请注意,/。为此,您需要//。否则你会得到浮点数:

代码语言:javascript
复制
>>> 421//60
7
>>> 421/60
7.016666666666667
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55275496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档