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 等模块以及使用条件语句的方法。