Как определить что год високосный?
Код не проходит тесты, но я не могу найти ошибку:
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")
Понимаю-понимаю, что для учёбы :)
