创建一个字典,其关键字是月份名称,值是相应月份的天数#程序堆栈


请更正代码。创建一个字典,其关键字是月份名称,值是相应月份的天数。WAP具有独立的用户定义功能,可实现以下操作。(i( 只推送堆栈上天数为31的名称。(ii(弹出并显示堆栈的内容。

plzz更正代码代码:https://docs.google.com/document/d/1fj3eaa2zXIkwhE6W4apLjmva44hxi51C/edit

这可能是您想要的

编辑:已编辑代码以满足新的要求。

(我不明白你说的"堆叠"是什么意思,但你可以从这里继续(

def create_month_day_dict(year, long_only=False):
months_names = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October',
'November', 'December']
days_in_month = [31, 28 + (year % 4 == 0), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
return dict((k, v) for k, v in zip(months_names, days_in_month) if not long_only or v == 31)

print(create_month_day_dict(2022, long_only=True))
print(create_month_day_dict(2024))

输出:

{'January': 31, 'March': 31, 'May': 31, 'July': 31, 'August': 31, 'October': 31, 'December': 31}
{'January': 31, 'February': 29, 'March': 31, 'April': 30, 'May': 31, 'June': 30, 'July': 31, 'August': 31, 'September': 30, 'October': 31, 'November': 30, 'December': 31}

注:还考虑了相关年份

构建字典时需要考虑年份以帮助解决此问题。日历模块非常适合:

from calendar import monthrange, month_abbr
def make_dictionary(year):
d = {'year': year}
for i in range(1, 13):
d[month_abbr[i]] = monthrange(year, i)[1]
return d

print(make_dictionary(2024))

输出:

{'year': 2024, 'Jan': 31, 'Feb': 29, 'Mar': 31, 'Apr': 30, 'May': 31, 'Jun': 30, 'Jul': 31, 'Aug': 31, 'Sep': 30, 'Oct': 31, 'Nov': 30, 'Dec': 31}

如果您想要完整(而不是缩写(的月份名称,请导入month_name并使用

最新更新