🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
ProgerLib Python für alle
Sie arbeiten als Programmierer in einem Unternehmen, das ein "digitales Archiv persönlicher Dateien" erstellt. Ihre Aufgabe & mdash; Entwickeln Sie ein Modul zur Überprüfung der eingegebenen Daten. Das System soll absolut zuverlässig sein und keine falschen oder unmöglichen Daten akzeptieren (z. B. den 30. Februar oder 31. April) sowie Daten im falschen Format.
Das Programm muss die Zeilen nacheinander einlesen, bis der Benutzer & nbsp; 0 eingibt. Für jede eingegebene Zeile muss überprüft werden, ob es sich um ein korrektes, existierendes Datum im & nbsp; dd.mm.YYYY -Format handelt.
Das Programm erhält mehrere Zeilen als Eingabe. Jede Zeile enthält entweder ein Datum zur Überprüfung oder eine beliebige Zeichenfolge. Die Dateneingabe endet, wenn in einer separaten Zeile das Symbol 0 eingegeben wird.
für jede eingegebene Zeile (außer der letzten Zeile & nbsp; 0 ) soll das Programm in einer neuen Zeile ausgeben:
korrektes Datum & nbsp; & mdash; Wenn die Zeile ein existierendes Datum im & nbsp; DD.MM.YYYY Format ist. In allen anderen Fällen (falsches Format, nicht existierendes Datum). 12.12.2024
31.04.2023
02.29.2023
Hallo Welt
02.29.2024
01/01/2000
0
Das korrekte Datum
falsches Datum oder Format
falsches Datum oder Format
falsches Datum oder Format
korrektes Datum
korrektes Datum
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("Некорректная дата или формат")
🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
AD
Werbung
Führe deinen Code aus...