Python 特金特没有';我不认识我的变量

Python 特金特没有';我不认识我的变量,python,tkinter,Python,Tkinter,我试图在Tkinter中创建一个计数器,但由于某些原因python无法从else语句中识别我的变量和print from Tkinter import * import random a = random.randrange(1,10) b = random.randrange(1,10) c = random.randrange(1,10) d = random.randrange(1,10) print a, b, c, d class App: def __init__(sel

我试图在Tkinter中创建一个计数器,但由于某些原因python无法从else语句中识别我的变量和print

from Tkinter import *
import random

a = random.randrange(1,10)
b = random.randrange(1,10)
c = random.randrange(1,10)
d = random.randrange(1,10)
print a, b, c, d

class App:
    def __init__(self, master):

        frame = Frame(master)
        frame.pack()

        self.Input = Entry(frame)
        self.Input.pack()

        self.display = Label(frame, text='')
        self.display.pack(side=BOTTOM)

        self.confirm = Button(frame, text='confirm', command=self.confirm)
        self.confirm.pack(side=BOTTOM)

    def confirm(self):
        enter = self.Input.get()
        abc = 0

        if enter == a:
            abc += 1
            self.display['text'] = abc
            print('a')

        elif enter == b:
            abc += 2
            self.display['text'] = abc
            print('b')

        elif enter == c:
            abc += 3
            self.display['text'] = abc
            print('c')

        elif enter == d:
            abc += 4
            self.display['text'] = abc
            print('d')

        else:
            print('invalid character')



root = Tk()
app = App(root)
root.mainloop()

我想这一行返回一个
str
,例如,
'7'

enter = self.Input.get()
此行返回一个
int
,例如
7

a = random.randrange(1,10)
注意
7!='7'

您可以尝试更改此行:

enter = int(self.Input.get())
或者像这样的台词:

if enter == str(a):

“无法识别我的变量”是什么意思?确切地说,您看到的错误消息是什么?如果您的程序输出不正确,那么它是什么?您希望得到什么输出?谢谢这帮助解决了我的问题,我想另一个问题是如何使计数器自身更新例如,每次我按下确认按钮,数字都会增加1,这样,通过按下按钮10次,它最终可能会变成10,再次非常感谢
App.\uu init\uuu()
,添加这一行:
self.counter=0
。在
App.confirm()
中,添加此行:
self.counter+=1