使用Python计算日期天数:判断闰年及获取指定月份天数

这篇文章将带你学习如何使用Python编写程序,计算给定年份和月份的天数。我们将涵盖以下内容:

  1. 判断闰年2. 获取指定月份的天数3. 代码示例和解释

以下是使用Python编写的程序,用于计算给定年份和月份的天数:pythondef is_leap_year(year): if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): return True else: return False

def get_number_of_days(year, month): days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if month == 2 and is_leap_year(year): return 29 else: return days_in_month[month - 1]

while True: year = int(input('请输入年份(1000-3000):')) month = int(input('请输入月份(1-12):')) if 1000 <= year <= 3000 and 1 <= month <= 12: break else: print('输入不合法,请重新输入。')

number_of_days = get_number_of_days(year, month)print(f'{year}年{month}月有{number_of_days}天。')

代码解释:

  1. is_leap_year(year) 函数: - 接受年份作为参数。 - 根据闰年规则判断该年份是否为闰年: - 能被4整除但不能被100整除,或者能被400整除的年份为闰年。 - 返回 True(是闰年)或 False(不是闰年)。

  2. get_number_of_days(year, month) 函数: - 接受年份和月份作为参数。 - days_in_month 列表存储了每个月的天数(默认情况下2月为28天)。 - 如果月份是2月,并且是闰年,则返回29天。 - 否则,返回 days_in_month 列表中对应月份的天数。

  3. 主程序: - 使用无限循环 while True 持续要求用户输入年份和月份,直到输入合法为止。 - 使用 if 语句检查输入的年份是否在1000到3000之间,月份是否在1到12之间。 - 如果输入合法,则调用 get_number_of_days 函数计算天数,并将结果打印输出。 - 如果输入不合法,则打印错误信息,并要求用户重新输入。

希望这篇文章能帮助你理解如何使用Python计算日期天数,以及如何判断闰年和获取指定月份的天数。

Python计算日期天数:判断闰年及获取指定月份天数

原文地址: https://www.cveoy.top/t/topic/nxX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录