编写程序,使用不同的实现方法输出2000~3000的所有闰年。
时间: 2024-10-09 13:01:05 浏览: 34
在Python中,我们可以利用闰年的规则(能被4整除但不能被100整除,或者是能被400整除的年份)编写一个简单的循环函数来找出2000年至3000年间的闰年。这里有几种常见的实现方法:
1. **简单循环**:
```python
def find_leap_years(start_year, end_year):
for year in range(start_year, end_year + 1):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(year)
find_leap_years(2000, 3000)
```
2. **列表推导式**:
```python
leap_years_list = [year for year in range(2000, 3001) if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)]
for year in leap_years_list:
print(year)
```
3. **装饰器模式**:
如果想要优雅地添加条件检查,可以创建一个装饰器,然后应用到整个日期范围内:
```python
def is_leap_year(func):
def wrapper(year):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
func(year)
return wrapper
@is_leap_year
def display_year(year):
print(year)
display_year(2000)
```
阅读全文