创建一个字典,其键是月份名称,值是否。相应月份的天数。 #程序栈
Create a dictionary whose keys are month names and values are no. of days in the corresponding month. #program stack
请更正代码。
创建一个字典,其键是月份名称,值是否。相应月份的天数。 WAP 具有单独的用户定义功能来实现以下操作。
(i) 仅将那些名称压入堆栈,其编号为天数是 31。
(ii) 弹出并显示堆栈的内容。
请更正代码
代码:https://docs.google.com/document/d/1fj3eaa2zXIkwhE6W4apLjmva44hxi51C/edit
这可能就是您想要的
编辑:编辑代码以满足新要求。
(我不明白你所说的 'stack' 是什么意思,但你可以从这里继续)
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}
注:也考虑了相关年份
你在构建字典时需要考虑年份来帮助解决这个问题。 calendar 模块非常适合这个:
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 并使用
请更正代码。 创建一个字典,其键是月份名称,值是否。相应月份的天数。 WAP 具有单独的用户定义功能来实现以下操作。 (i) 仅将那些名称压入堆栈,其编号为天数是 31。 (ii) 弹出并显示堆栈的内容。
请更正代码 代码:https://docs.google.com/document/d/1fj3eaa2zXIkwhE6W4apLjmva44hxi51C/edit
这可能就是您想要的
编辑:编辑代码以满足新要求。
(我不明白你所说的 'stack' 是什么意思,但你可以从这里继续)
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}
注:也考虑了相关年份
你在构建字典时需要考虑年份来帮助解决这个问题。 calendar 模块非常适合这个:
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 并使用