我正在编写一个Python代码,用于确定一年是否为闰年。我认为我的算法很好,但我的代码结果并不理想。
def isLeapYear(n):
if n % 400 == 0:
print ("The year", n, "is a leap year:")
return True
if n % 100 == 0:
print ("The year", n, "is a leap year:")
return False
if n % 4 == 0:
print ("The year", n, "is a leap year:")
return True
else:
print ("The year", n, "is a leap year:")
return False
isLeapYear(2000)
如果代码运行,结果如下:
runfile('C:/Users/username/Desktop/isLeapYear.py',
wdir='C:/Users/username/Desktop')
The year 2000 is a leap year
第一个问题是我不明白为什么显示runfile文件路径。其次,我希望我的代码输出该语句是True还是False。理想情况下,我正在寻找:
The year 2000 is a leap year: True
答案 0 :(得分:2)
我觉得值得注意的是,作为一个潜在的答案,如果没有用于确定年份是否为闰年的所有代码,那么就有一个功能用于此目的:
import calendar
print calendar.isleap(1900)
作为使用calendar
模块的替代方法,您可以用更简单的方式编写它,它将返回Bool(True / False):
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)
答案 1 :(得分:1)
您没有获得所需输出的原因是当您说
时"我希望我的代码能输出语句是True还是'False。"
您没有指定您希望输出的方式。现在,您的代码将print
语句与return
语句混合在一起。如果您将所有return
语句更改为print
语句,则该函数将打印
The year 2000 is a leap year:
True
在您的终端。