分析:输入年份和月份,判断月份是大月、小月或2月,若为2月则进一步判断年份是否闰年。如果大月则输出31天,小月则输出30天,闰年2月则输出29天,平年2月则输出28天。
时间: 2024-10-22 10:09:18 浏览: 44
c++做的万年历课程设计
4星 · 用户满意度95%
要编写这样的程序,你可以使用 Python 的条件语句(如 if-elif-else 结构)来根据月份和年份计算每个月的天数。首先,我们需要定义一个判断闰年的规则,即闰年满足以下条件之一:
- 年份能被4整除但不能被100整除
- 或者年份能被400整除
接下来,我们可以创建一个函数来处理这个问题:
```python
def is_leap_year(year):
if year % 4 == 0:
if year % 100 != 0 or (year % 400 == 0):
return True
else:
return False
def days_in_month(year, month):
months_days = {
1: 31,
2: 28 if not is_leap_year(year) else 29,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31
}
return months_days[month]
# 示例用法
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
if month in [1, 3, 5, 7, 8, 10, 12]:
print(f"{year}年的{month}月有{days_in_month(year, month)}天")
elif month == 2:
print(f"{year}年的2月有{days_in_month(year, month)}天")
else:
print(f"{month}不是有效的月份")
```
在这个程序中,`is_leap_year()` 函数用于检查给定年份是否是闰年,`days_in_month()` 函数则根据月份和是否是闰年来返回相应天数。用户可以通过调用 `days_in_month(year, month)` 来获取结果。
阅读全文