Условия задачи:

 

Дни в феврале. Февраль обычно имеет 28 дней. Но в високосный год в феврале 29 дней. Напишите программу, которая просит пользователя ввести год. Затем она должна пока­ зать количество дней в феврале в этом году. Для определения високосных лет исполь­зуйте следующие критерии.
•Определить, делится ли год на 100. Если да, то этот год високосный тогда и только тогда, если он также делится на 400. Например, 2000 является високосным годом, а 2100 нет.
• Если год не делится на 100, то этот год високосный тогда и только тогда, если он де­лится на 4. Например, 2008 является високосным годом, но 2009 нет.

 

Решение задачи:

year_input = int(input('Введите год для проверки високосный ли он: '))
if year_input % 100 == 0 and year_input % 400 == 0:
    flag = True
elif year_input % 100 != 0 and year_input % 4 == 0:
    flag = True
else:
    flag = False
if flag:
    print(f'Введенный вами {year_input} год високосный')
else:
    print(f'Введенный вами {year_input} год не високосный')

#второй вариант построения управляющих структур

if year_input % 100 == 0:
    if year_input % 400 == 0:
        flag = True
    else:
        flag = False
else:
    if year_input % 4 == 0:
        flag = True
    else:
        flag = False
if flag:
    print(f'Введенный вами {year_input} год високосный')
else:
    print(f'Введенный вами {year_input} год не високосный')