【python】输入年份和月份,获得当月天数(注意闰年)
方法一
要解决这个问题,我们可以使用Python的`calendar`模块,它提供了很多与日历相关的功能,包括判断闰年和获取一个月有多少天。下面是一个简单的Python脚本,它接受年份和月份作为输入,并输出该月的天数:
```python
import calendar
# 读取输入的年份和月份
year, month = map(int, input("请输入年份和月份,用空格隔开:").split())
# 获取该月的天数
days_in_month = calendar.monthrange(year, month)[1]
# 输出结果
print(days_in_month)
```
这段代码首先导入了`calendar`模块,然后从用户那里读取年份和月份。`calendar.monthrange(year, month)`函数返回一个元组,其中第一个元素是该月第一天是星期几(0-6,星期一为0),第二个元素是该月的天数。我们只需要第二个元素。
方法二
如果不使用`calendar`库,我们可以通过一些逻辑判断来确定年份是否为闰年,以及根据月份来确定天数。下面是一个不使用`calendar`库的Python脚本:
```python
def is_leap_year(year):
# 判断是否为闰年
return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
def days_in_month(year, month):
# 根据月份返回天数
if month in (1, 3, 5, 7, 8, 10, 12):
return 31
elif month in (4, 6, 9, 11):
return 30
elif month == 2:
return 29 if is_leap_year(year) else 28
else:
return 0 # 无效的月份
# 读取输入的年份和月份
year, month = map(int, input("请输入年份和月份,用空格隔开:").split())
# 获取该月的天数
days = days_in_month(year, month)
# 输出结果
print(days)
```
这段代码定义了两个函数:`is_leap_year`用于判断给定的年份是否为闰年,`days_in_month`用于根据年份和月份返回该月的天数。对于闰年,2月有29天;对于平年,2月有28天。其他月份的天数是固定的。
作者:西贝爱学习