Написать функцию date, принимающую 3 аргумента — день, месяц и год. Вернуть
True, если такая дата есть в нашем календаре, и False иначе. Задания нода сделать на Python
Ответы
Программа:
Python:
def date(day, month, year):
if day <= 0 or month <= 0 or year < 0:
return False
else:
months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if year % 4 == 0: months[1] = 29
if day <= months[month - 1]:
if month <= 12:
return True
return False
if __name__ == '__main__':
day = int(input('Day: '))
month = int(input('Month: '))
year = int(input('Year: '))
print(date(day, month, year))
Объяснение:
В начале объявляем функцию date() с тремя аргументами: day, month, year. Далее делаем проверку, введены ли только числа, больше за единицу. Если так, то выполняем следующий код: регистрируем массив из 12 элементов, которые означают кол-во дней в месяце. Если этот год високосный (делится на 4 без остатка), то заменяем 28 на 29 (элемент с индексом 1).
Далее делаем проверку, количество дней меньше либо равно нужному количеству по условию. Если так, то делаем проверку для введённого месяца: если число меньше либо равно 12. Если всё выполняется, возвращаем True. Если что-то не выполнится, функция вернёт False.
После - с помощью условия if __name__ == '__main__' выполняем обычный код - ввод в консоли дня, месяца года, а также вызов функции date() с этими данными.