[問題] python的程式碼不知哪裡有誤

作者: qzxwec789 (Frank)   2019-04-13 13:48:39
大家好,我打的程式碼不知是哪裡有誤,因為我是想讓他先發送一個字,然後顯示
請輸入字彙,但不論怎樣修改,都先跑出請輸入字彙。此外如果我想從列表中,隨機
取三個應如何使用random shuffle()呢?感謝大家。
下面是我的程式碼
Dict={"警察":"勇敢","護士":"溫柔","醫生":"道德","老師":"耐心",
"工程師":"好命","老闆":"有錢"}
def associate(Dict):
for word in Dict.keys():
print("\n")
print(word)
correct=0
incorrect=0
term=input ("請輸入詞彙:")
if term==Dict[associate]:
print("答對了!\n")
correct+=1
else:
incorrect+=1
print("答錯了,應該是%s...\n"%Dict[associate])
incorrect+=1
associate(Dict)
作者: st1009 (前端攻城師)   2019-04-13 14:07:00
工程師好命...好想噓
作者: lemon651 (小明)   2019-04-13 15:23:00
你想隨機取得轉成list。看不懂你Dict裡面丟一個function是什麼意思。你整個程式第一行能到console上的就是input,程式就是從上到下照順序執行的
作者: qzxwec789 (Frank)   2019-04-13 15:54:00
所以請問是Dict[associate]錯了嗎?但我想改成Dict[word],它不讓我改
作者: art1 (人,原來不是人)   2019-04-13 17:14:00
Dict[associate]應該改成Dict[term]吧? 不然存在term要做啥你是想要先隨機顯示dict的鍵還是值? 想要比對的term是跟鍵還是值做比較?感覺從correct開始到else,都要縮到跟for word同一層級如果是先把dict的鍵先全部列出來,然後拿輸入的term去跟值做比對,那比對的部份也要有迴圈去跑
作者: bugbug777 (sil)   2019-04-13 18:06:00
把你預想的結果打出來 看看 不懂你要幹嘛https://reurl.cc/4Nb8j 我用猜測的方式幫你解答
作者: art1 (人,原來不是人)   2019-04-13 19:32:00
樓上人真好,隨機取鍵好像沒辦法用在dict上?還是先存到list後再用隨機的索引值獨出來?讀

Links booklink

Contact Us: admin [ a t ] ucptt.com