🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Вы работаете программистом в компании, которая создает "Цифровой архив личных дел". Ваша задача — разработать модуль для проверки вводимых дат. Система должна быть абсолютно надежной и не принимать некорректные или невозможные даты (например, 30 февраля или 31 апреля), а также данные в неверном формате.
Программа должна считывать строки одну за другой, пока пользователь не введет 0. Для каждой введенной строки необходимо провести проверку: является ли она корректной, существующей датой в формате ДД.ММ.ГГГГ.
Программа получает на вход несколько строк. Каждая строка содержит либо дату для проверки, либо произвольный набор символов. Ввод данных завершается, когда в отдельной строке вводится символ 0.
Для каждой введенной строки (кроме завершающей строки 0) программа должна вывести в новой строке:
Корректная дата — если строка является существующей датой в формате ДД.ММ.ГГГГ.Некорректная дата или формат — во всех остальных случаях (неверный формат, несуществующая дата).25.12.2024
31.04.2023
29.02.2023
hello world
29.02.2024
01.01.2000
0
Корректная дата
Некорректная дата или формат
Некорректная дата или формат
Некорректная дата или формат
Корректная дата
Корректная дата
import datetime
while True:
# Считываем очередную строку от пользователя
input_str = input()
# Проверяем условие выхода из цикла
if input_str == '0':
break
try:
# Пытаемся преобразовать строку в дату по заданному формату.
# Формат '%d.%m.%Y' означает:
# %d - день месяца с ведущим нулем (01-31)
# %m - месяц с ведущим нулем (01-12)
# %Y - год в виде четырех цифр (например, 2024)
#
# Эта функция автоматически проверяет и формат, и существование даты.
# Например, для "30.02.2024" она вызовет ошибку, так как такой даты нет.
datetime.datetime.strptime(input_str, '%d.%m.%Y')
# Если преобразование прошло успешно, значит дата корректна
print("Корректная дата")
except ValueError:
# Если в процессе преобразования возникла ошибка ValueError,
# это означает, что либо формат строки не соответствует 'ДД.ММ.ГГГГ',
# либо сама дата невозможна (например, 31 апреля).
print("Некорректная дата или формат")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...