写一个函数。输入一个年份 INT,返回该年是平年还是闰年。如果输入的年份不在 1-9999 之间,返回年份错误。
时间: 2024-01-22 10:17:48 浏览: 22
以下是一个 Python 实现的函数:
```python
def is_leap_year(year):
if not 1 <= year <= 9999:
return "年份错误"
elif year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return "闰年"
else:
return "平年"
```
该函数接受一个年份参数 `year`,首先判断该年份是否在 1-9999 之间,如果不在则返回错误信息。如果在,则根据闰年的定义判断该年份是否为闰年,最后返回结果。其中判断闰年的逻辑为:能被 4 整除但不能被 100 整除,或者能被 400 整除,就是闰年。
相关问题
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()`函数输出结果。
编写一个c++程序,设计一个函数year可以对键盘输入的年份,判断该年是平年还是闰年,并在该函数中输出判断结果
#include <stdio.h>
void year(int y) {
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
printf("%d年是闰年\n", y);
} else {
printf("%d年是平年\n", y);
}
}
int main() {
int y;
printf("请输入一个年份:");
scanf("%d", &y);
year(y);
return 0;
}