【发布时间】:2010-07-01 06:48:26
【问题描述】:
在下面的代码中,我打算有两个按钮,当每个按钮被按下时,“0”和“1”将分别打印到标准输出。但是,当程序运行时,它们都会打印“1”,这是我在 for 迭代中的最后一个值。为什么?
import Tkinter as tk
import sys
root = tk.Tk()
for i in range(0,2):
cmd = lambda: sys.stdout.write(str(i))
tk.Button(text="print '%d'" % i,command=cmd).pack()
root.mainloop()
【问题讨论】: