Python – 从给定年份列表中打印闰年的数量


在学校或大学里,处理闰年会比较棘手。如果我们想判断给定的年份是否为闰年,简单的方法是将其除以四。如果闰年可以被 4 和 100 整除,则它是一个闰年,否则不是。当用户给出一个从 10 到 100 的年份列表时,这是一个繁琐的过程,并且会消耗大量时间。在这种情况下,Python 通过简单的代码进入轨道。

要打印列表中闰年的数量,我们需要了解什么是闰年。它每四年出现一次,有 366 天,其他年份只有 365 天。闰年的那一天被添加到 2 月。

方法

方法 1 - 使用 lambda 函数

方法 2 - 使用 calendar 模块

方法 3 - 使用条件语句

方法 1:使用 lambda 函数从年份列表中打印闰年数量的 Python 程序

获取列表长度的方法是通过导入 calendar 模块以及 lambda 函数来实现的。

算法

  • 步骤 1 - 导入 calendar 模块以使用名为 isleap() 的函数。

  • 步骤 2 - 列表初始化为包含年份的元素。

  • 步骤 3 - 定义 lambda 函数时始终使用 filter 函数。

  • 步骤 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:使用 Calendar 模块从年份列表中打印闰年数量的 Python 程序

通过导入 calendar 模块,从元素列表中识别闰年。由于使用了库,因此不使用条件语句。

算法

  • 步骤 1 - 导入所需的 calendar 模块来处理闰年。

  • 步骤 2 - 列表初始化为一定数量的年份,并将列表中的闰年存储在 leaplist 变量中。

  • 步骤 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

结论

列表数据结构处理不同数据类型的元素,例如整数、浮点数或字符串。元素需要在方括号内定义,并用逗号分隔。方法给出了使用 calendar、DateTime 等模块以及使用条件语句的方法。

更新于: 2023-08-29

196 次查看

开启您的 职业生涯

完成课程后获得认证

开始
广告