Как сделать чтобы при вводе неправильных данных выводилась ошибка и пользователь вводил данные сначала?

Делаю программу на питон и нужно вводить дату. Надо сделать чтобы при вводе неправильной даты выводилось сообщение и пользователь должен вводить данные сначала
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Если ты разбираешь дату с помощью datetime.datetime.strptime(), то эта функция выбрасывает исключение ValueError при неправильной дате. Так что учись работать с исключениями.
А дальше логика простая: заверни всё в цикл while True, при вводе правильной даты выходи из цикла по break.
Ответ написан
Комментировать
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
В общем случае это реализуется с помощью цикла.
Например, делаем бесконечный цикл, из которого выходим либо если введено корректное значение, либо (такой вариант тоже желательно предусмотреть) если пользователь больше не хочет работать с программой.
Скажем, в консольной программе можно написать как-то так
while True:
    data = input("Enter data: ")
    if data == '':
        print("Empty input. Exiting...")
        quit()
    if ( здесь пишем проверку):
        print("Please enter correct value")
    else:
        break


В итоге ниже этого цикла в data будет корректное значение.
проверок и сообщений об ошибках может быть несколько.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы