Разбор дат и времени не стоит делать вручную.Ваш код пытается индексировать в целое число с hours[0]
.Строки и целочисленные типы не сравнимы без приведения.
Попробуйте модуль Python datetime , в частности, функцию strptime
, которая анализирует дату из отформатированной строки.Вы можете извлекать часы, минуты, секунды и легко выполнять сравнения и складывать / вычитать время, используя timedelta
.
from datetime import datetime
while 1:
try:
dur = input("How long do you want to wait (EX: HHMMSS): ")
dt = datetime.strptime(dur, "%H%M%S")
print(dt, " hour:", dt.hour, " min:", dt.minute, " sec:", dt.second)
break
except ValueError:
print("Invalid time.")
Пример выполнения:
How long do you want to wait (EX: HHMMSS): 012261
Invalid time.
How long do you want to wait (EX: HHMMSS): 012251
1900-01-01 01:22:51 hour: 1 min: 22 sec: 51