提问者:小点点

if条件在Tkinter中不像预期那样工作


我在这段代码中遇到了一些麻烦,因为if条件不能为true,而总是执行else条件。

你能帮忙吗

from tkinter import *

root = Tk()

entry_1 =Entry(root, width = 20)
entry_1.pack()
entry_1.insert(0, "Choose Your Number ")


def m():
    answer = entry_1.get().strip()
    if answer == 5 :
        mylabel = Label(root, text = "YOU WIN!")
        mylabel.pack()
    else :
        mylabel = Label(root, text = "YOU LOST!")
        mylabel.pack()


mybutton = Button(root, text = 'PLAY', command = m)
mybutton.pack()


root.mainloop()

谢谢


共1个答案

匿名用户

任何用户输入都是字符串,因此您需要转换为整数。

请尝试以下代码:

from tkinter import *

root = Tk()

entry_1 =Entry(root, width = 20)
entry_1.pack()
entry_1.insert(0, "Choose Your Number ")


def m():
    answer = int(entry_1.get().strip())
    if answer == 5 :
        mylabel = Label(root, text = "YOU WIN!")
        mylabel.pack()
    else :
        mylabel = Label(root, text = "YOU LOST!")
        mylabel.pack()


mybutton = Button(root, text = 'PLAY', command = m)
mybutton.pack()


root.mainloop()