#python #datetime #input #time #range
Вопрос:
Я успешно создал функцию, которая запрашивает у пользователя допустимое время, импортировав модуль Datetime. Если пользователь не введет допустимое время, вопрос будет задан до тех пор, пока он/она этого не сделает. Но проблема в том, что в настоящее время я управляю зоопарком, который открыт с 08:00 до 22:00. Как мне расширить свой код, чтобы пользователь мог вводить действительное время только в промежуток времени между этим периодом? Помощь была бы признательна.
Код:
def input_time(): while True: try: time = input("What time do you plan to be here? (HH:MM): ") pattern_time = ('%H:%M') time = datetime.strptime(time, pattern_time) except ValueError: print("Not a valid time,try again") continue else: break return time time = input_time()
Комментарии:
1. Это Питон, я полагаю?
2. Да, я не уточнил, что это Python
Ответ №1:
Извините, что никто не ответил на этот вопрос. Структура time_struct предоставляет поля-члены, которые вы можете проверить:
while True: try: t = input("What time do you plan to be here? (HH:MM): ") pattern_time = ('%H:%M') t = time.strptime(t, pattern_time) if not (8 lt;= t.tm_hour lt;= 22): print("The zoo is only open from 8:00 to 22:00") continue except ValueError: print("Not a valid time, try again") continue else: break return t
Кроме того, будьте осторожны с именами переменных.