• Предмет: Информатика
  • Автор: zokirovnazar566
  • Вопрос задан 6 лет назад

Написать функцию date, принимающую 3 аргумента — день, месяц и год. Вернуть
True, если такая дата есть в нашем календаре, и False иначе. Задания нода сделать на Python

Ответы

Ответ дал: vimmortal2
4

Программа:
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() с этими данными.

Вас заинтересует