這是我的代碼。它是返回一個語法錯誤使用列表中的值使用eval函數的問題
def format_date():
month_abrv = ['Jan','Feb','Mar','Apr','May','Jun','Jul',
'Aug','Sep','Oct','Nov','Dec']
print('''This program takes an input in the format MM/DD/YYYY(ex:09/23/2014)
and outputs date in format DD Mth, YYYY (ex: 23 Sep, 2014)''')
date_string = input('\nInput date in format MM/DD/YYYY ')
date_list = date_string.split('/')
date_list[0] = eval(date_list[0])
format_date()
以下是錯誤
Traceback (most recent call last):
File "C:/Python34/Python ICS 140/FormatDate.py", line 16, in <module>
format_date()
File "C:/Python34/Python ICS 140/FormatDate.py", line 14, in format_date
date_list[0] = eval(date_list[0])
File "<string>", line 1
09
^
SyntaxError: invalid token
*爲什麼*你想要使用'eval'而不是['datetime.strptime'](https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime)? – 2014-09-21 15:40:19
認識到python試圖讀取09作爲八進制值而不是十進制值。關於如何將任何小於10的數字(即09,08,07 ...)更改爲9,8,7這一段代碼的想法? – Efie 2014-09-21 15:47:15
@LukasGraf我正在介紹python課程,我們還沒有使用datetime.strptime。有沒有辦法做到這一點,而不使用該功能? – Efie 2014-09-21 15:48:00