[問題] 出現unhashable type: 'list'該如何處理已刪文

看板Python作者 (Frank)時間6年前 (2019/03/22 03:58), 6年前編輯推噓1(101)
留言2則, 2人參與, 6年前最新討論串1/2 (看更多)
大家好,我的code如下 # -*- coding: utf-8 -*- """ Created on Thu Mar 21 23:47:43 2019 @author: user """ import random Dict={"紅":"紅色","成":"成功","失":"失敗","漂":"漂亮","勇":"勇敢", "天":"天空","寫":"寫字","力":"力量","走":"走路","手":"手機"} TwoWords=list(Dict.keys()) print("\n") correct = 0 incorrect = 0 while TwoWords: InitialWord = random.choice(TwoWords) TwoWords.remove(InitialWord) print(InitialWord) term=input ("請輸入詞彙:") if term==Dict[TwoWords]: print("答對了!\n") correct+=1 else: print("答錯了,應該是%s...\n"%Dict[TwoWords]) incorrect+=1 print('你答對%i題,答錯%i題!' %(correct, incorrect)) 當出現如天,而同時出現請輸入詞彙:,這時不管我輸入甚麼字都出現錯誤訊息 如TypeError: unhashable type: 'list',所以想請教我的code應該要如何修改才行。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.75.7.128 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1553198287.A.DB9.html ※ 編輯: qzxwec789 (42.75.7.128), 03/22/2019 04:00:21

03/22 06:39, 6年前 , 1F
邏輯應該是Dict[InitialWord]
03/22 06:39, 1F
謝謝大師指點迷津,不過敝人若想要只出10題,然後最後再計算他10題中,共答對幾題 答錯幾題,應該寫呢? ※ 編輯: qzxwec789 (42.75.7.128), 03/22/2019 10:39:01

03/22 11:18, 6年前 , 2F
現在不就只有10題嗎
03/22 11:18, 2F
不好意思,說錯了,是從裡面隨機只挑5題,然後最後可以算出共答對幾題答錯幾題, 因為是初學者,所以苦思很久還是想不出來,所以煩請高手們指教,謝謝。 ※ 編輯: qzxwec789 (42.75.7.128), 03/22/2019 11:34:52
文章代碼(AID): #1Sa-pFsv (Python)
文章代碼(AID): #1Sa-pFsv (Python)