Python – вывести количество високосных лет из заданного списка лет
В школе или колледже работать с високосными годами будет непросто. В случае, когда мы хотим узнать, является ли данный год високосным или нет, простой метод — разделить его на четыре. Если високосный год делится на 4 и 100, это високосный год, в противном случае — нет. Когда пользователю предоставляется список лет от 10 до 100, это утомительный процесс и отнимает много времени. В этой ситуации на помощь приходит Python с простыми кодами.
Чтобы вывести количество високосных лет из списка, нам нужно понять, что такое високосный год. Он наступает с временным перерывом в четыре года по 366 дней, а остальные годы имеют только 365 дней. К февральскому месяцу добавляется один дополнительный день високосного года.
Подходы
Подход 1 — Использование лямбда-функции
Подход 2 — Использование модуля календаря
Подход 3 — Использование условного оператора
Подход 1: программа Python для печати количества високосных лет из списка лет с использованием лямбда-функции.
Способ получения длины списка можно найти путем импорта модуля календаря вместе с лямбда-функцией.
Алгоритм
Шаг 1. Модуль календаря импортируется для использования функции isleap().
Шаг 2 — Список инициализируется элементами, содержащими год.
Шаг 3 — Функция фильтра всегда используется при определении лямбда-функции.
Шаг 4 — Високосный год из списка печатается вместе с продолжительностью високосных лет.
Пример
#importing the library
import calendar
#initializing the list with integer elements
list1 = [1998, 1987, 1996, 1972, 2003]
#iterating through the list using for loop
#using the isleap(), filter() function is used to find the leap year
leaplist = list(filter(lambda num: calendar.isleap(num), list1))
#returns the final length
print("Leap years from the list are: " , leaplist)
print("Total number of leap years: ", len(leaplist))
Выход
Leap year from the list are: [1996, 1972]
Total number of leap year: 2
Подход 2: программа Python для печати количества високосных лет из списка лет с использованием условного оператора.
Список элементов инициализируется и с помощью условного оператора выполняется требование найти, какой из них является високосным годом.
Алгоритм
Шаг 1 — Список лет присваивается переменной с именем «list1» и определяется пустой список.
Шаг 2 — Используя итерацию, когда год находится в списке, он должен убедиться, что год, разделенный на 4, должен быть равен числу, разделенному на 100.
Шаг 3 — Или простой расчет: когда год делится на 400, он должен делиться.
Шаг 4 — Процесс продолжается до тех пор, пока не будут проверены все элементы в списке.
-
Шаг 5 — Затем возвращается общее количество високосных лет.
Пример
#initializes the list with years as input
list1 = [1998, 1987, 1996, 1972, 2003]
#initializing the empty list
leaplist = []
#for loop is used to iterate through the list
#condition is used to print the result
for num in list1:
if ((num%4==0 and num%100!=0) or (num%400==0)):
print("Leap year from the list is: ",num)
leaplist.append(num)
#finally printing the number of leap years in the given list
print("Total number of leap years: ", len(leaplist))
Выход
Leap year from the list is: 1996
Leap year from the list is: 1972
Total number of leap year: 2
Подход 3: программа Python для печати количества високосных лет из списка лет с использованием модуля «Календарь».
Високосный год определяется из списка элементов путем импорта модуля календаря. Поскольку используется библиотека, условный оператор не используется.
Алгоритм
Шаг 1 — Импортируется необходимый модуль календаря для работы с високосными годами.
Шаг 2 — Список инициализируется определенным количеством лет, и для сохранения високосного года из списка сохраняется в переменной jumplist.
Шаг 3 — Цикл for используется для перебора элементов списка. С помощью функции isleap() он напрямую находит високосный год.
Шаг 4 — Общее количество високосных лет печатается при выполнении условия.
Пример
#importing the library
import calendar
#initializing the list with integer elements
list1 = [1998, 1987, 1996, 1972, 2003]
#initializing the empty list
leaplist = []
#iterating through the list using for loop
#using the isleap() function to find the leap year
for num in list1:
leap = calendar.isleap(num)
if leap:
print("Leap year from the list is: ",num)
leaplist.append(num)
#returns the final length
print("Total number of leap years: ", len(leaplist))
Выход
Leap year from the list is: 1996
Leap year from the list is: 1972
Total number of leap year: 2
Заключение
Структура данных списка имеет дело с элементами различных типов данных, такими как целые числа, числа с плавающей запятой или строки. Элементы необходимо определять в квадратных скобках, разделенных запятой. Подходы представлены с помощью таких модулей, как календарь, DateTime и использование условных операторов.