2015-10-20 56 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),并且该循环将保持为无。