当我输入年份“2020”时,我得到了“2020 年是闰年”的双重输出。我不知道为什么
When I input the year "2020", I get a double output of "2020 is a leap year." and I am not sure why
year = int(input("Which year do you want to check? "))
if year % 4 == 0:
print(year, "is a leap year.")
if year % 100 == 0:
print(year, "is not a leap year.")
if year % 400 == 0:
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
else:
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
我曾尝试将嵌套的“if”条件句更改为似乎合适的“elif”条件句,但结果相同。虽然在没有双重打印结果的其他年份输入年份是否为有效闰年的逻辑是正确的,但我不确定为什么它会在“2020”这一年产生双重打印结果。
这是检查闰年的一种方法:
def isleap(year):
"""Return True for leap years, False for non-leap years."""
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
year = int(input("Which year do you want to check? "))
if year % 4 == 0:
print(year, "is a leap year.")
if year % 100 == 0:
print(year, "is not a leap year.")
if year % 400 == 0:
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
else:
print(year, "is a leap year.")
else:
print(year, "is not a leap year.")
我曾尝试将嵌套的“if”条件句更改为似乎合适的“elif”条件句,但结果相同。虽然在没有双重打印结果的其他年份输入年份是否为有效闰年的逻辑是正确的,但我不确定为什么它会在“2020”这一年产生双重打印结果。
这是检查闰年的一种方法:
def isleap(year):
"""Return True for leap years, False for non-leap years."""
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)