我知道这是一个非常愚蠢的问题,但我被困住了。我该怎么写这个条件:
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'对象不可调用”出现。如果不是问题,我要求解决方案和一些解释。
祝你好运
答案 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
),循环将保持为无。