🎉 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
Imaginez que vous créez une application de calendrier simple. L'une des fonctions les plus importantes d'une telle application — est d'empêcher l'utilisateur de saisir des dates inexistantes. Par exemple, le 30 février ou le 31 avril.
Écrivez un programme qui demande à l'utilisateur de saisir trois nombres : le jour, le mois et l'année. Votre tâche — est de vérifier si la date saisie est réelle. Le programme doit prendre en compte que différents mois ont un nombre de jours différent, ainsi que le fait qu'il existe des années bissextiles où février compte 29 jours.
Règles pour la vérification :
Le programme doit afficher "date correcte" si la date existe, et "date incorrecte" sinon.
Jour (entier)
mois (entier)
année (nombre entier)
Le résultat de la vérification (ligne)
29
2
2024
La date correcte
# Запрашиваем у пользователя три числа: день, месяц, год
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("Корректная дата")
🎉 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...