🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
想象一下,你正在创建一个简单的日历应用程序。这类应用最重要的功能之一——不允许用户输入不存在的日期。例如,2月30日或4月31日。
编写一个程序,要求用户输入三个数字:日、月和年。你的任务——检查输入的日期是否真实。程序应考虑不同月份的天数不同,以及存在闰年,其中2月有29天。
检查规则:
如果日期存在,程序应输出"correct date";否则输出"incorrect date"。
日(整数)
月(整数)
年(整数)
检查结果(行)
29
2
2024
正确的日期
# Запрашиваем у пользователя три числа: день, месяц, год
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("Корректная дата")
🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
AD
广告
正在运行代码...