Как определить что год високосный?

Код не проходит тесты, но я не могу найти ошибку:

year = int(input())
if year != 0:
    if year % 400 == 0:
        print('YES')
    elif year % 4 == 0:
        if year % 100 != 0:
            print('YES')
    else:
        print('NO')
else:
    print('NO')

Задание:

Задание


Ответы (2 шт):

Автор решения: MaxU

При вводе числа, кратного 100, ваш код ничего не напечатает.

Попробуйте так:

def is_leap(year):
    if year % 4 == 0 and year % 100 != 0:
        return True
    if year % 400 == 0:
        return True
    return False

print("YES" if is_leap(int(input())) else "NO")

PS если вас не обманули составители задачи и тестов (дано натуральное число), то нет смысла проверять if year != 0


UPD: Любителям однострочников посвящается ;)

def is_leap(year):
    return (year % 4 == 0 and year % 100 != 0) or year % 400 == 0
→ Ссылка
Автор решения: Эникейщик

Зачем придумывать, когда уже есть готовое:

import calendar

year = int(input("Year: "))
if calendar.isleap(year):
    print("Yes")
else:
    print("No")

Понимаю-понимаю, что для учёбы :)

→ Ссылка