Python3:带有字典元素的条件

时间:2015-10-20 18:50:53

标签: python-3.x dictionary

我知道这是一个非常愚蠢的问题,但我被困住了。我该怎么写这个条件:

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 个答案:

答案 0 :(得分:0)

从字典中访问元素应使用方括号:

<RelativeLayout
   android:layout_width="fill_parent"
   android:layout_height="wrap_content">
   <TextView
      android:id="@+id/tense_textview"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/tense"
      android:gravity="center_horizontal"
      android:background="@android:color/holo_orange_dark"
      android:padding="15dp"
      android:textStyle="bold"
      android:textColor="@android:color/white"
      android:layout_toRightOf="@+id/pauseButton"
      android:layout_alignParentRight="true"
      android:layout_alignBottom="@+id/pauseButton"
      android:layout_alignTop="@+id/pauseButton"/>
  <ImageButton
      android:id="@+id/pauseButton"
      android:background="@drawable/pause_button_background"
      android:src="@drawable/pause"
      android:layout_alignParentTop="true"
      android:layout_alignParentLeft="true"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_margin="10dp" />
</RelativeLayout>

尽管如此,您可以使用更好的模式来避免两次检查字典(您在some_dic[made_choice] mode_choice not in some_dic执行同一文本):

some_dic[mode_choice]

像这样,player = None while player is None: player = some_dict.get(input("Enter The Game Mode: ")) 将是player或字典中的一个有效输出(例如:None),循环将保持为无。