[問題] list錯誤訊息

作者: s82237823   2018-05-31 00:26:43
各位大大好:
小弟最近剛開始學寫python
遇到一點小問題 希望可以在此獲得協助
dic={'A':'10','J':'18','S':'26',
'B':'11','K':'19','T':'27',
'C':'12','L':'20','U':'28',
'D':'13','M':'21','V':'29',
'E':'14','N':'22','W':'32',
'F':'15','O':'35','X':'30',
'G':'16','P':'23','Y':'31',
'H':'17','Q':'24','Z':'33',
'I':'34','R':'25'}
list1=input("")
if list1[0] in dic:
list2=list1.replace(list1[0],dic[list1[0]])
for k in range(len(list1)):
list2[k]=int(list2[k])
print(list2)
我想請問一下 為什麼我想要分別把list裡面的項目轉成int的時候
會出現下面這一個錯誤:
list2[k]=int(list2[k])
TypeError: 'str' object does not support item assignment
我要從哪邊去修正 才可以讓他轉成數字
這個是要做身分證檢驗 所以要把輸入的文字轉換成對應的數字
然後再去做運算
謝謝
作者: djshen (djshen)   2018-05-31 00:43:00
想想看list2, list2[k]分別代表什麼 跟你想做的事一樣?
作者: ponponjerry (ponpon)   2018-05-31 01:35:00
善用type()你把list3跟list2的屬性搞清楚就知道為什麼了list2是strlist3是list
作者: TitanEric (泰坦)   2018-05-31 12:36:00
建議變數命名要有意義
作者: s82237823   2018-05-31 17:12:00
好的!!
作者: handsomeLin (DoGLin)   2018-06-01 00:06:00
python不建議這樣取名 因為屬性很可能在一半改變

Links booklink

Contact Us: admin [ a t ] ucptt.com