year = int(input("输入一个年份:"))
if (year % 4) == 0:
    if (year % 100) == 0:
        if (year % 400) == 0:
            print("{0} 是闰年".format(year))
        else:
            print("{0} 不是闰年".format(year))
    else:
        print("{0} 是闰年".format(year))
else:
    print("{0} 不是闰年".format(year))

逻辑:

1.

非整百年份:能被4整除的是闰年。(如2004年就是闰年,2001年不是闰年)

2.

整百年份:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)

3.

对于数值很大的年份:如果这一年能被3200整除,那么这一年不是闰年,但如果这一年能被172800整除,则为闰年。

简洁优化:

year = int(input("请输入一个年份:"))
if (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0:
    print("{0}是闰年".format(year))
else:
    print("{0}不是闰年".format(year))

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐