easyGUI中的if和else语句?

时间:2015-01-11 03:19:51

标签: python if-statement syntax msgbox easygui

所以我有一个基本问题:如何使用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,但只是关闭程序,任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

ynbox会返回TrueFalse,而不是choices之一(这就是它们在两个按钮上显示的内容!)。因此,将支票更改为if choice:else:(并确保您的缩进正确 - 在您的Q中看起来很奇怪! - )并且您应该没问题。

答案 1 :(得分:1)

choice = easygui.ynbox(msg, title, choices)

ynbox会返回TrueFalse。这意味着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只能是TrueFalse,并且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 !"