将毫秒转换为小时、分钟和秒 python
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/35989666/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Convert milliseconds to hours, min, and seconds python
提问by lunaferie
I'm just starting this code out but when i try to run it i keep getting invalid syntax over the main.
我刚刚开始这段代码,但是当我尝试运行它时,我不断收到无效的语法。
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()
why is that?? And am i on the right track on getting it to out put in the right format.
这是为什么??我是否在以正确的格式发布它的正确轨道上。
I would like it to show ex. convertmillies(5500) returns 0:0:5
我希望它显示前。convertmillies(5500) 返回 0:0:5
please help
请帮忙
update
更新
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()
I have to give one 2 functions and one has to contain convertMillis(millis): but it says that hours is not defined why is that??
我必须给出一个 2 个函数,一个必须包含 convertMillis(millis): 但它说小时没有定义,为什么?
回答by lunaferie
If You want one single function:
如果你想要一个单一的功能:
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()
回答by Bernardo Meurer
Try this:
尝试这个:
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()
The problems seem to be:
问题似乎是:
- You lack the understanding of local and global variables. Just because a variable is in your
convertMillis
doesn't meanmain
will get to read it. You have to explicitly return them. - You misunderstood the syntax of
print
,input
andreturn
- 你缺乏对局部和全局变量的理解。仅仅因为变量在您
convertMillis
中并不意味着main
可以读取它。您必须明确返回它们。 - 你误解的语法
print
,input
和return