easyGUI 中的 if 和 else 语句?

If and else statements in 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,而只是关闭程序,我们将不胜感激。

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

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

这个ynboxreturnsTrueFalse。这意味着 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 值,此逻辑将起作用.

一个可能有用的简单示例:

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 !"