Задача: Високосный год

Опубликован: 19.09.2024 24

Условие: напишите программу, которая определяет является ли введенный пользователем год високосным или нет, а также выводит список всех високосных годов за последние 100 лет.

Високосным считается год, в котором 366 дней вместо обычных 365 дней. Високосные годы необходимы для корректировки календаря, чтобы он соответствовал астрономическому году. В григорианском календаре високосный год определяется по следующему алгоритму:

  • год делится на 4 без остатка.
  • если год делится на 100, он не является високосным, за исключением тех случаев, когда он также делится на 400.

Решение:

# Ввод года пользователем
year = int(input('Введите год: '))


def is_leap_year(year: int):
    if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
        return True
    else:
        return False


if is_leap_year(year):
    print(f'Год {year} високосный.')
else:
    print(f'Год {year} не високосный.')

# список всех високосных годов за последние 100 лет
lst_leap_years = [yar for yar in range(year - 100, year + 1) if is_leap_year(yar)]
print(lst_leap_years)

# Введите год: 2024
# Год 2024 високосный.
# [1924, 1928, 1932, 1936, 1940, 1944, 1948, 1952, 1956, 1960, 1964, 1968, 1972, 1976, 1980, 
# 1984, 1988, 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020, 2024]

Похожие посты

Задача: Решение квадратного уравнения

Задача: Тренажер таблицы умножения

Задача: Наибольший числовой палиндром

Задача: Разложение числа на простые множители

Комментариев нет.