Я только начинаю этот код, но когда я пытаюсь запустить его, я продолжаю получать недопустимый синтаксис над основным.Конвертировать миллисекунды в часы, минуты и секунды python
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()
я должен дать одну две функции и один должен содержать convertMillis (Миллис): , но он говорит, что часов не определено, почему это так?
Вы ушли из ')' в конце вашего 'print' вызова. – zondo
Возможный дубликат [Как преобразовать миллисекунды в читаемую человеком форму?] (Http://stackoverflow.com/questions/175554/how-to-convert-milliseconds-into-human-readable-form) – Andy
Вы можете упростить 'convertMillis() 'с помощью' minutes, seconds = divmod (milli, 100) ',' hours, minutes = divmod (minutes, 60) '. Кроме того, вы ничего не возвращаете. Вы должны сказать «return (часы, минуты, секунды)». Кроме того, в 'main()' вы определяете 'milli' как возврат' print() '. 'print()' всегда возвращает None. Вы можете просто взять 'print (' от начала и ')' от конца. Кроме того, для его печати используйте 'print (": ". Join (convertMillis (int (milli)))) – zondo