Python编写程序,输出2000~3000之间所有的闰年,并统计闰年数
时间: 2023-05-21 15:03:31 浏览: 922
以下是Python代码,可以输出2000~3000之间所有的闰年,并统计闰年数:
```python
count = 0
for year in range(2000, 3001):
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
print(year)
count += 1
print("总共有", count, "个闰年")
```
输出结果为:
```
2000
2004
2008
...
2992
2996
总共有 243 个闰年
```
希望能对您有所帮助!
相关问题
编写程序,输出2000~3000之间所有的闰年,并统计闰年数
闰年的判断规则是:能被4整除但不能被100整除,或者能被400整除的年份都是闰年。
以下是Python语言的程序实现:
```python
count = 0 # 闰年计数器
for year in range(2000, 3001):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(year)
count += 1
print("2000~3000之间共有", count, "个闰年")
```
输出结果如下:
```
2000
2004
2008
...
2992
2996
3000
2000~3000之间共有 243 个闰年
```
注意,程序中的计数器count用于记录闰年的数量,每找到一个闰年就将计数器加1。最后输出统计结果。
编写程序,使用不同的实现方法输出2000~3000的所有闰年。
在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)
```
阅读全文
相关推荐













