什么是闰年?
闰年是指公历中每年有366天的年份,与平年(每年365天)相对。在格里高利历(即我们现在使用的日历)中,闰年的出现遵循以下规则:
1. 能被4整除的年份是闰年。例如,2004年、2008年等都是闰年。
2. 但是,能被100整除而不能被400整除的年份不是闰年。例如,1900年就不是闰年,但2000年是闰年。
3. 另外,能被400整除的年份也是闰年。例如,2000年、2400年等都是闰年。
这些规则是为了确保日历与地球绕太阳运行的实际周期保持一致。地球绕太阳一周大约需要365.24天,而我们使用的格里高利历每年只有365天。为了弥补这个差距,每四年就增加一个额外的一天,即2月29日,这一年就是闰年。
闰年的额外一天使得2月份有29天,而不是平年的28天。此外,闰年还会影响到其他月份的天数分布。例如,在闰年中,2月之后的每个月份都有31天,而平年中的3月和5月则有30天。
在平时的工作中,我们经常需要判断一个年份是否是闰年,那么如何使用Python来判断是否是闰年呢?
使用函数
代码如下:
```
def is_leap_year(year):
if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0):
return True
else:
return False
year = int(input("请输入一个年份:"))
if is_leap_year(year):
print(year,"年是闰年")
else:
print(year,"年不是闰年")
```
小伙伴们,如何去计算一个年份区间内有多少个闰年呢?
代码如下:
```
start = int(input("请输入起始年份:"))
end = int(input("请输入结束年份:"))
count = 0
for year in range(start,end):
if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0):
count += 1
print(start,"年到",end,"年中共有",count,"个闰年")
```
实际上也可以将上面的判断方法配合is_leap_year使用,
代码如下:
```
def is_leap_year(year):
if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0):
return True
else:
return False
start = int(input("请输入起始年份:"))
end = int(input("请输入结束年份:"))
count = 0
for year in range(start,end):
if (is_leap_year(year)):
count += 1
print(start,"年到",end,"年中共有",count,"个闰年")
```