Если и еще заявления в 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 !"
Другие вопросы по тегам