python用if函数输入月份判断天数和闰年
时间: 2024-05-02 10:23:39 浏览: 92
好的!这是一个常见的问题,以下是Python代码实现:
```
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
if month in [1, 3, 5, 7, 8, 10, 12]: # 31天
print("{}年{}月有31天。".format(year, month))
elif month in [4, 6, 9, 11]: # 30天
print("{}年{}月有30天。".format(year, month))
elif month == 2: # 2月,需要判断是否为闰年
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("{}年2月有29天,是闰年。".format(year))
else:
print("{}年2月有28天。".format(year))
else:
print("输入月份有误,请重新输入!")
```
希望能够帮助您。
相关问题
python输入任意年份和月份输出这一年该月份对应的天数月份在1-12之间重新输入2月份需要判断是平年还是闰年
好的,可以使用Python内置的`calendar`模块来获取指定年份和月份的天数,同时结合闰年的判断来实现。以下是一个示例代码:
```python
import calendar
# 获取用户输入的年份和月份
while True:
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
if 1 <= month <= 12:
break
else:
print("月份输入有误,请重新输入!")
# 使用calendar模块获取该月份的天数
if month == 2: # 判断是否为2月份
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: # 判断是否为闰年
days = 29
else:
days = 28
else: # 其他月份直接使用calendar模块获取天数
days = calendar.monthrange(year, month)[1]
# 输出结果
print("{}年{}月有{}天".format(year, month, days))
```
这段代码首先使用一个循环来获取用户输入的年份和月份,如果月份不在1-12范围内,就提示用户重新输入。然后判断是否为2月份,如果是2月份,就判断该年份是否为闰年,根据判断结果来确定该月份的天数。如果不是2月份,就使用`calendar.monthrange()`函数获取该月份的天数。最后使用`print()`函数输出结果。
根据输入的年份和月份判断月份的天数。若月份不在有效范围之内,应提示:“月份输入不正确。”。月份不为2月,根据输入月份输出对应的月份天数。月份为2月,根据年份判断如为普通闰年,输出2月份正确天数;如为世纪闰年,输出2月份正确天数;不为闰年输出2月份天数。返回结果格式:“year年month月份的天数是days天。”
您好!根据您的描述,我可以为您提供一个Python函数来判断月份的天数。下面是代码示例:
```python
def get_days_in_month(year, month):
if month < 1 or month > 12:
return "月份输入不正确。"
if month != 2:
# 非2月份的情况
days = 31 if month in [1, 3, 5, 7, 8, 10, 12] else 30
return f"{year}年{month}月份的天数是{days}天。"
else:
# 2月份的情况
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
# 闰年
days = 29
else:
# 非闰年
days = 28
return f"{year}年2月份的天数是{days}天。"
# 示例用法
year = 2022
month = 2
result = get_days_in_month(year, month)
print(result)
```
您可以调用`get_days_in_month()`函数,传入年份和月份来获取结果。请注意,这只是一个示例函数,您可以根据自己的需求进行修改和扩展。希望能对您有所帮助!如果有任何问题,请随时提问。
阅读全文