Вводится год. Определить, является ли он високосным или обычным.
Примечание. Високосными являются года, которые делятся на 4, за исключением столетий, которые не делятся на 400.
year = int(input())
if year % 4 != 0:
print("usual year")
elif year % 100 == 0:
if year % 400 == 0:
print("intercalary year")
else:
print("usual year")
else:
print("intercalary year")
Короткое решение:
year = int(input())
if year % 4 != 0 or (year % 100 == 0 and year % 400 != 0):
print("usual year")
else:
print("intercalary year")
С комментариями:
# Вводится год, преобразуется к целому числу
year = int(input())
# Если остаток от деления на 4 не равен нулю,
# значит год не делится нацело на 4 и
# не является високосным, т. е. он обычный.
if year % 4 != 0:
print("usual year")
# Исключаем столетия, которые не делятся на 400
elif year % 100 == 0: # является ли столетием?
if year % 400 == 0: # Делится ли на 400?
# В таком случае год високосный
print("intercalary year")
else: # Если столетие, но не делится на 400,
# то год обычный
print("usual year")
# Во всех остальных случаях год високосный
else:
print("intercalary year")
Короткое решение с комментариями:
year = int(input())
# Сразу проверяются все условия.
# Если год не делится на 4 или делится на 100, но не на 400,
# то он обычный. Во всех остальных случаях - високосный.
if year % 4 != 0 or (year % 100 == 0 and year % 400 != 0):
print("usual year")
else:
print("intercalary year")
Пример выполнения скрипта:
2024
intercalary year