因此,我试图编写一个代码,无论该月份是多少月,它都会向我返回该月的天数。这是我目前编写的代码。我有一些正确的月份,但其余的却没有。有人可以指出我在编码方面做错了什么吗?
def get_days_in_month (month):
if (month == 2):
return 28
elif (month == 4 + 6 + 9 + 11):
return 30
elif (month == 1 + 3 + 5 + 7 + 8 + 10 +12):
return 31
else:
return 31
答案 0 :(得分:3)
更好的主意:
使用python内置的计算器。使用monthrange并传入年份和月份的(int)
monthrange(year,month):返回月份的第一天的工作日和月份中的天数, 指定的年份和月份
from calendar import monthrange
def get_days_in_month (year,month):
month_data= monthrange(year, month)
# If you only want DAYS, use month_data[1]
get_days_in_month(2018,1)
答案 1 :(得分:2)
您要添加数字4
,6
,9
,11
。您可以改为使用in
keyword和list
来测试month
是否等于其中之一:
def get_days_in_month(month):
if (month == 2):
return 28
elif (month in [4, 6, 9, 11]):
return 30
else:
return 31