如何判断某一年是否为闰年?

新手上路,请多包涵

我正在尝试制作一个简单的计算器来确定某一年是否是闰年。

根据定义,闰年可以被四整除,但不能被一百整除,除非它可以被四百整除。

这是我的代码:

 def leapyr(n):
    if n%4==0 and n%100!=0:
        if n%400==0:
            print(n, "is a leap year.")
    elif n%4!=0:
        print(n, "is not a leap year.")
print(leapyr(1900))

当我在 Python IDLE 中尝试这个时,模块返回 None 。我很确定我应该得到 1900 is a leap year

原文由 Plato1212 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 243
2 个回答

使用 calendar.isleap

 import calendar
print(calendar.isleap(1900))

原文由 mawueth 发布,翻译遵循 CC BY-SA 4.0 许可协议

作为单行函数:

 def is_leap_year(year):
    """Determine whether a year is a leap year."""

    return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)

它类似于 马克的答案,但在第一次测试时短路(注意括号)。

或者,您可以使用标准库的 calendar.isleap ,它具有完全相同的 实现

 from calendar import isleap
print(isleap(1900))  # False

原文由 Eugene Yarmash 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏