2015-10-20 54 views
0

我知道這是如此愚蠢的問題,但我卡住了。我應該如何寫這個條件:Python3:條件與字典的元素

some_dic = { "single": single_player, 
      "s": single_player, 
      ... 
      "m": multiplayer 
      } 

mode_choice = ' ' 
while mode_choice not in some_dic: 
    mode_choice = input("Enter The Game Mode: ") 

if some_dic(mode_choice) == single_player 
    ... 

我的意思是當然最後一行之前。在執行彈出窗口時:「'dict'對象不可調用」出現。如果這不是問題,我正在尋求解決方案和一些解釋。

問候

+1

您應該嘗試使用some_dict [mode_choice]而不是() – Damir

+0

謝謝,現在可以使用。我說這是一個愚蠢的問題。 – mathsicist

回答

0

從字典訪問的元素應該用方括號來實現:

some_dic[made_choice] 

然而,有一種更好的模式,你可以用它來避免檢查字典兩次(你正在做它在mode_choice not in some_dicsome_dic[mode_choice]爲同一文本):

player = None 
while player is None: 
    player = some_dict.get(input("Enter The Game Mode: ")) 

這樣,player將是None或您的字典中的一個有效輸出(例如:single_player),並且該循環將保持爲無。