year = int(input("Enter a year: "))
if (year % 4) == 0:
if (year % 100) == 0 and (year % 400) == 0:
print (year, "IS a leap year.")
else:
print (year, "is NOT a leap year.")
由于某种原因,程序在输入后不会打印任何内容。
如果有人需要,这里是闰年规则的链接:https://www.wwu.edu/skywise/leapyear.html
答案 0 :(得分:0)
嗯,没有打印任何内容的原因正如@John Gordon所说:在你的程序中遗漏了一些 else子句。我已修改为以下代码:
year = int(input("Enter a year: "))
if (year % 4) == 0:
if (year % 100) == 0 and (year % 400) != 0:
print (year, "is NOT leap year.")
else:
print (year, "is a leap year.")
else:
print (year, "is NOT a leap year.")
当一年可以除以4时,可能是闰年。从这个意义上说,当它可以除以100但不能除以400时,它不是闰年。在其他情况下。在year % 4 == 0
情况下,只需您就会遗漏某些案例。
对我来说,我通常用以下代码判断闰年:
def is_leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
return True
return False
答案 1 :(得分:0)
这是我的程序取自“The C Programming Language 2nd Edition”:
year = int(input("Enter a year: "))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print "Leap year"
else:
print "Not leap"
我认为您提到的链接上提供的规则是错误的。闰年应该可以被4整除,并且必须不可以被100整除。但是,如果它可以被100整除但也可以被400整除,那么就是跳跃。