首页 > 编程知识 正文

Python输入年月输出天数

时间:2023-11-19 01:28:33 阅读:307889 作者:GNMR

这篇文章将详细介绍如何使用Python编写一个程序,根据输入的年份和月份输出该月的天数。

一、计算闰年

在计算天数之前,我们需要先确定年份是否是闰年。闰年是指能够被4整除但不能被100整除的年份,或者能够被400整除的年份。我们可以通过以下代码来判断一个年份是否是闰年:

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

这段代码中,我们使用了条件语句和逻辑运算符来判断年份是否满足闰年的条件。如果是闰年,则返回True,否则返回False。

二、计算每个月的天数

一般情况下,每个月的天数是固定的,例如1月有31天,2月有28或29天(闰年),3月有31天,依此类推。我们可以使用一个字典来存储每个月份对应的天数,如下所示:

days_in_month = {
    1: 31,
    2: 28,
    3: 31,
    4: 30,
    5: 31,
    6: 30,
    7: 31,
    8: 31,
    9: 30,
    10: 31,
    11: 30,
    12: 31
}

然后,我们可以编写一个函数来根据输入的年份和月份计算该月的天数:

def get_days_in_month(year, month):
    if month == 2 and is_leap_year(year):
        return 29
    else:
        return days_in_month[month]

在这段代码中,我们首先判断如果是2月且为闰年,返回29;否则,返回对应月份在字典中的值。

三、完整的程序示例

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

days_in_month = {
    1: 31,
    2: 28,
    3: 31,
    4: 30,
    5: 31,
    6: 30,
    7: 31,
    8: 31,
    9: 30,
    10: 31,
    11: 30,
    12: 31
}

def get_days_in_month(year, month):
    if month == 2 and is_leap_year(year):
        return 29
    else:
        return days_in_month[month]

year = int(input("请输入年份:"))
month = int(input("请输入月份:"))

days = get_days_in_month(year, month)
print("{}年{}月共有{}天".format(year, month, days))

这段代码首先获取用户输入的年份和月份,然后调用get_days_in_month函数计算该月的天数,并将结果打印出来。

总结:

通过使用is_leap_year函数判断年份是否是闰年,再结合days_in_month字典来获取每个月的天数,我们可以轻松地实现Python输入年月输出天数的功能。这个程序可以帮助用户快速准确地获取每个月的天数,方便日常生活和工作的使用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。