Если и еще заявления в easyGUI?
Итак, у меня есть основной вопрос: как правильно использовать операторы if и else с easyGUI? Вот что у меня есть:
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 ответа
choice = easygui.ynbox(msg, title, choices)
Этот ящик возвращает 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
значение, эта логика будет работать.
ynbox
возвращается True
или же False
не один из ваших choices
(это только то, что отображается на двух кнопках!). Итак, измените ваши чеки на if choice:
а также else:
(и убедитесь, что ваши отступы правильные - выглядит странно в вашем Q!-), и вы должны быть в порядке.
Простой пример может быть полезным:
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 !"