有没有人能帮我写一下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
发布于 2018-06-17 04:33:25
你的代码中有几个bug:
days_in_month
是month
和year
的函数。定义它accordingly.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
https://stackoverflow.com/questions/50891506
复制相似问题