所以我有一个基本问题:如何使用easyGUI正确使用if和else语句? 这就是我所拥有的:
import easygui
msg = "Oh i see m9, choos your difficulty"
title = "Mountain Dew Franchise"
choices = ["Pro 360 noscoper(+1001)", "Dank skrubl0rd(-666)"]
choice = easygui.ynbox(msg, title, choices)
#if choices==choices[0]:
easygui.msgbox("Good choos m20, let the skrubl0rd noscoping begin.")
#if choices==choices[1]:
easygui.msgbox("Oh i see m8.")
#行似乎是问题区域
它不允许我去msgbox,但只是关闭程序,任何帮助将不胜感激。
答案 0 :(得分:1)
ynbox
会返回True
或False
,而不是choices
之一(这就是它们在两个按钮上显示的内容!)。因此,将支票更改为if choice:
和else:
(并确保您的缩进正确 - 在您的Q中看起来很奇怪! - )并且您应该没问题。
答案 1 :(得分:1)
choice = easygui.ynbox(msg, title, choices)
此ynbox会返回True
或False
。这意味着choice
只能是这两个值中的一个。
if choices==choices[0]:
您正在比较您的列表(choices
)是否等于同一列表中第一个元素的值。
要使您的计划有效,您需要稍微修改一下if
部分。
if choice:
easygui.msgbox("Good choos m20, let the skrubl0rd noscoping begin.")
else:
easygui.msgbox("Oh i see m8.")
由于choice
只能是True
或False
,并且choices
列表中的第一个选项会成为True
值,因此该逻辑将起作用。< / p>
答案 2 :(得分:0)
一个简单的例子可能有用:
from easygui import *
msg = "Flavor"
title = "survey"
choices = ["vanila", "chocolate", "foo","strbry"]
choice = choicebox(msg, title, choices)
if choice == "foo":
print "your choice is good"
else:
print "Try again its not a good choice !"