我的代码的重点是应该输入yyyymmdd并且答案是作为字符串出现,例如如果输入是“20191129”那么输出将是“2019年11月29日”
我不断在我的代码中得到随机的“关键错误'0'”,我不明白为什么会这样我的代码:
def format_date(date):
year = date[:3]
main_month = date[4:5]
main_day = date[6:]
if main_month <= '01' and main_month >= '12':
return dic_month[main_month]
if main_day <= '01' and main_day >= '31':
return dic_day[main_day]
month = dic_month[main_month]
day = dic_day[main_day]
return month + ' ' + day + ' ' + year
以下是我目前使用的词典:
dic_month = {'1': 'January', '2': 'February', '3': 'March', '4': 'April', '5': 'May',
'6': 'June', '7': 'July', '8': 'August', '9': 'September', '10': 'October',
'11': 'November', '12': 'December'}
dic_day = {'1': '1st', '2': '2nd', '3': '3rd', '4': '4th', '5': '5th', '6': '6th', '7': '7th',
'8': '8th', '9': '9th', '10': '10th', '11': '11th', '12': '12th', '13': '13th', '14': '14th',
'15': '15th', '16': '16th', '17': '17th', '18': '18th', '19': '19th', '20': '20th', '21': '21st',
'22': '22nd', '23': '23rd', '24': '24th', '25': '25th', '26': '26th', '27': '27th', '28': '28th',
'29': '29th', '30': '30th', '31': '31st',}
请帮忙
"key error '0'"
意味着您正在尝试使用密钥'0'
访问dict条目,但dict中不存在此类条目。
这么多错误......
dic_month = {'1': 'January', '2': 'February', '3': 'March', '4': 'April', '5': 'May',
'6': 'June', '7': 'July', '8': 'August', '9': 'September', '10': 'October',
'11': 'November', '12': 'December'}
dic_day = {'1': '1st', '2': '2nd', '3': '3rd', '4': '4th', '5': '5th', '6': '6th', '7': '7th',
'8': '8th', '9': '9th', '10': '10th', '11': '11th', '12': '12th', '13': '13th', '14': '14th',
'15': '15th', '16': '16th', '17': '17th', '18': '18th', '19': '19th', '20': '20th', '21': '21st',
'22': '22nd', '23': '23rd', '24': '24th', '25': '25th', '26': '26th', '27': '27th', '28': '28th',
'29': '29th', '30': '30th', '31': '31st',}
def format_date(date):
year = date[:4]
main_month = date[4:6]
main_day = date[6:]
if int(main_month) < 1 or int(main_month) > 12:
return 'Wrong month'
if int(main_day) < 1 or int(main_day) > 31:
return 'Wrong day'
month = dic_month[main_month]
day = dic_day[main_day]
return month + ' ' + day + ' ' + year
print(format_date('20190029')) # 'Wrong month'
print(format_date('20191129')) # 'November 29th 2019'