从键盘输入两个年份ya和yb,输出ya和yb之间的所有是闰年的年份,每行输出8个年份。判断闰年的条件是:能被4整除但不能被100整除,或者能被400整除。要求:定义并调用函数leap(m)判断年份是否为闰年,当m为闰年时返回1,否则返回0。
时间: 2024-12-11 14:39:23 浏览: 19
首先,我们需要定义一个名为`leap`的函数,用于判断给定的年份`m`是否是闰年。闰年的条件是满足以下任意一种情况:
1. `m`能够被4整除且不能被100整除;
2. 或者`m`能够被400整除。
以下是Python代码实现:
```python
def leap(year):
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
return 1
else:
return 0
# 输入的年份范围
start_year = int(input("请输入起始年份ya:"))
end_year = int(input("请输入结束年份yb:"))
if start_year > end_year:
print("起始年份不能大于结束年份,请重新输入")
else:
# 循环输出每年份是否为闰年
for year in range(start_year, end_year + 1, 8): # 每8年打印一组
leap_years = [str(year + i) for i in range(7) if leap(year + i)]
if leap_years:
print("\t".join(leap_years)) # 使用制表符分隔每个年份
```
在这个代码里,我们先获取用户输入的起始和结束年份,然后遍历这个区间,每次跳过8年,找出这8年间的所有闰年,并将它们按照要求输出。如果某组内有闰年,就使用`\t`分隔输出。
阅读全文