闰年计算器不打印任何输出

2024-05-19 05:07:54 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: and程序内容inputifis规则not
2条回答

嗯,不打印任何内容的原因正如@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

以下是我的程序摘自“C程序设计语言第二版”:

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整除,那么它就是跳跃。你知道吗

相关问题 更多 >

    热门问题