🎉 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
Stellen Sie sich vor, Sie erstellen eine einfache Kalenderanwendung. Eine der wichtigsten Funktionen einer solchen Anwendung — Verhindern Sie, dass der Benutzer nicht existierende Daten eingibt. Zum Beispiel den 30. Februar oder den 31. April.
Schreiben Sie ein Programm, das den Benutzer auffordert, drei Zahlen einzugeben: Tag, Monat und Jahr. Ihre Aufgabe — Überprüfen Sie, ob das eingegebene Datum real ist. Das Programm sollte berücksichtigen, dass verschiedene Monate unterschiedliche Anzahlen von Tagen haben, sowie dass es Schaltjahre gibt, in denen der Februar 29 Tage hat.
Regeln für die Überprüfung:
Das Programm sollte "richtiges Datum" ausgeben, wenn das Datum existiert, und "falsches Datum" andernfalls.
Tag (Ganzzahl)
Monat (Ganzzahl)
Jahr (Ganze Zahl)
Das Ergebnis der Überprüfung (Zeile)
29
2
2024
Das korrekte Datum
# Запрашиваем у пользователя три числа: день, месяц, год
day = int(input())
month = int(input())
year = int(input())
# Проверяем базовую корректность введенных данных
if month < 1 or month > 12:
print("Некорректная дата")
else:
# Проверяем корректность дня для каждого месяца
# Месяцы с 31 днем: январь(1), март(3), май(5), июль(7), август(8), октябрь(10), декабрь(12)
if month in [1, 3, 5, 7, 8, 10, 12]:
if day < 1 or day > 31:
print("Некорректная дата")
else:
print("Корректная дата")
# Месяцы с 30 днями: апрель(4), июнь(6), сентябрь(9), ноябрь(11)
elif month in [4, 6, 9, 11]:
if day < 1 or day > 30:
print("Некорректная дата")
else:
print("Корректная дата")
# Февраль (2) - особый случай
elif month == 2:
# Проверяем, является ли год високосным
is_leap_year = False
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
is_leap_year = True
# Проверяем корректность дня для февраля
if is_leap_year:
# Високосный год - до 29 дней
if day < 1 or day > 29:
print("Некорректная дата")
else:
print("Корректная дата")
else:
# Обычный год - до 28 дней
if day < 1 or day > 28:
print("Некорректная дата")
else:
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...