Високосный год или нет на Python

Вводится год. Определить, является ли он високосным или обычным.

Примечание. Високосными являются года, которые делятся на 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

  Python API Development: Building Powerful and Flexible APIs
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x