我有代码:
from Tkinter import *
admin = Tk()
a = 1
def up():
global a
a += 1
def upp():
up()
print a
print 'its ',a
buttton = Button(admin, text='up', command=upp)
buttton.pack()
mainloop()
我想要“它”,每次按下按钮都会上升。所以重播代码,这样,#每次都会增加一个......帮助
答案 0 :(得分:4)
我测试了这个:
from Tkinter import *
import itertools
admin = Tk()
a = itertools.count(1).next
def upp():
print a()
buttton = Button(admin, text='up', command=upp)
buttton.pack()
mainloop()
这将以值1开始,每次打印时它将再添加一个。因此,当您第一次按下它时,它将在标准输出中显示1。
答案 1 :(得分:1)
替换
def upp():
up()
print a
print 'its ',a
buttton = Button(admin, text='up', command=upp)
buttton.pack()
mainloop()
与
def upp():
up()
print 'its ', a
buttton = Button(admin, text='up', command=upp)
buttton.pack()
mainloop()
它可以随心所欲地工作。
更新:请注意,您不需要两个功能。简化版本:
from Tkinter import *
admin = Tk()
a = 0
def upp():
global a
a += 1
print 'its ', a
buttton = Button(admin, text='up', command=upp)
buttton.pack()
mainloop()
无论如何应该避免全局变量(参见Alan回答更好的解决方案)