🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Vous travaillez en tant que programmeur dans une entreprise qui crée une « archive numérique de fichiers personnels ». Votre tâche — Développer un module pour vérifier les dates saisies. Le système doit être absolument fiable et ne pas accepter de dates incorrectes ou impossibles (par exemple, le 30 février ou le 31 avril), ainsi que des données dans un format incorrect.
Le programme doit lire les lignes les unes après les autres jusqu'à ce que l'utilisateur saisisse 0 . Pour chaque ligne saisie, il est nécessaire de vérifier : s'il s'agit d'une date correcte et existante au format dd.mm.YYYY .
Le programme reçoit plusieurs lignes en entrée. Chaque ligne contient soit une date à vérifier, soit un ensemble arbitraire de caractères. La saisie des données se termine lorsqu'un symbole 0 est introduit sur une ligne séparée.
pour chaque ligne saisie (sauf pour la ligne finale & nbsp; 0 ), le programme doit afficher sur une nouvelle ligne :
la date correcte & nbsp; & mdash; si la ligne est une date existante au format & nbsp; DD.MM.YYYY . Dans tous les autres cas (format incorrect, date inexistante). 12.12.2024
31.04.2023
02.29.2023
Hello World
02.29.2024
01/01/2000
0
La date correcte
date ou format incorrect
date ou format incorrect
date ou format incorrect
date correcte
date correcte
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("Некорректная дата или формат")
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...