有人可以帮我解决我的python代码吗?
我正在学习python,我有一个错误,我无法解决,我无法理解错误。
所以任何人都可以帮我修理并告诉我为什么它错了?
def leap_year(year):
if year % 400 == 0:
return True
elif year % 100 == 0:
return False
elif year % 4 == 0:
return True
else:
return False
def days_in_month(month):
if month == 1 or month == 3 or month == 5 or month == 7 \
or month == 8 or month == 10 or month == 12:
return month == 31
elif month == 2:
if leap_year(year):
return 29
else:
return 28
else:
return 30
答案 0 :(得分:1)
您的代码中存在一些错误:
days_in_month
是month
和year
的函数。相应地定义它。month == 31
没有任何意义。您的输出应该是天数,而不是布尔值。此外,我已简化了您的代码,以减少or
/ if
/ elif
/ else
语句的数量。
def leap_year(year):
if year % 400 == 0:
return True
if year % 100 == 0:
return False
if year % 4 == 0:
return True
return False
def days_in_month(month, year):
if month in {1, 3, 5, 7, 8, 10, 12}:
return 31
if month == 2:
if leap_year(year):
return 29
return 28
return 30
print(days_in_month(2, 2016)) # 29