将毫秒转换为小时,分钟和秒python

时间:2016-03-14 14:04:12

标签: python function time

我刚刚开始使用此代码,但是当我尝试运行它时,我一直在使用无效的语法。

def convertMillis(millis):
    seconds=(milli/1000)%60
    minutes=(milli/(1000*60))%60
    hours=(milli/(1000*60*60))%24

    return

def main():
    milli=print(input("Enter time in milliseconds "))

    print(hours,":",minutes,":",seconds

main()

为什么? 我是否正确地将它以正确的格式输出。

我希望它能显示前。 convertmillies(5500)返回0:0:5

请帮助

更新

def convertMillis(millis):
    millis = int(millis)
    seconds=(millis/1000)%60
    seconds = int(seconds)
    minutes=(millis/(1000*60))%60
    minutes = int(minutes)
    hours=(millis/(1000*60*60))%24

    return (hours, minutes, seconds)

def main():
    millis=input("Enter time in milliseconds ")

    print ("%d:%d:%d" % (hours, minutes, seconds))

main()

我必须提供一个2个函数,其中一个必须包含convertMillis(millis): 但它说没有定义小时数为什么?

2 个答案:

答案 0 :(得分:10)

如果你想要一个单一的功能:

def main():
    millis=input("Enter time in milliseconds ")
    millis = int(millis)
    seconds=(millis/1000)%60
    seconds = int(seconds)
    minutes=(millis/(1000*60))%60
    minutes = int(minutes)
    hours=(millis/(1000*60*60))%24

    print ("%d:%d:%d" % (hours, minutes, seconds))

main()

答案 1 :(得分:1)

试试这个:

 def convertMillis(millis):
     seconds=(millis/1000)%60
     minutes=(millis/(1000*60))%60
     hours=(millis/(1000*60*60))%24
     return seconds, minutes, hours

 def main():
     millis=input("Enter time in milliseconds ")
     con_sec, con_min, con_hour = convertMillis(int(millis))
     print("{0}:{1}:{2}".format(con_hour, con_min, con_sec))

 main()

问题似乎是:

  1. 您缺乏对局部和全局变量的理解。仅仅因为convertMillis中的变量并不意味着main将会阅读它。你必须明确地返回它们。
  2. 您误解了printinputreturn
  3. 的语法