Python 特金特没有';我不认识我的变量
我试图在Tkinter中创建一个计数器,但由于某些原因python无法从else语句中识别我的变量和printPython 特金特没有';我不认识我的变量,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
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
。