Написать функцию date, принимающую 3 аргумента — день, месяц и год. Вернуть True, если такая дата есть в нашем календаре, и False иначе. Задания нода сделать на Python
Ответы на вопрос:
# Написать функцию date , принимающую 3 аргумента — день, месяц и год.
# Вернуть True, если такая дата есть в нашем календаре, и False иначе.
def is_year_leap(year):
"""
Принимает аргумент: порядковый номер года
Возвращает значение: если високосный год - True, иначе - False
"""
if year % 4 != 0:
return False
elif year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
def date(day, month, year):
"""
Принимает аргументы: день, месяц, год
Возвращает значение: если дата правильная - True, иначе - False
"""
# Задаем количество дней в месяцах невисокосного года
set_months = {1: 31,
2: 28,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31}
# Проверяем заданы ли верно год и месяц
if year > 0 and (month >= 1 and month <= 12):
# Изменяем количество дней для февраля в високосных годах
if month == 2 and is_year_leap(year) == True:
set_months[2] = 29
# Проверяем задан ли верно день
if day in range(1, set_months[month]+1):
return True
else:
return False
else:
return False
# Тест кейсы
print(date(31, 12, 2020)) # Правильная дата
print(date(1, 0, 2000)) # Месяц вне диапазона
print(date(1, 1, 0)) # Год вне диапазона
print(date(29, 2, 2000)) # 29 февраля високосный год
print(date(29, 2, 1900)) # 29 февраля невисокосный год
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
akon170820.08.2020 17:25
-
soynova8911.10.2021 18:36
-
Asuna200118.02.2022 16:45
-
qwidonsky21.06.2022 00:49
-
Ариса2730.05.2022 20:37
-
Kristina1721709.02.2020 23:20
-
viktoria38814.01.2020 06:42
-
кармини08.08.2020 05:51
-
Владивостокер09.01.2021 02:04
-
Ruslan228461210.04.2022 00:48
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.