【发布时间】:2013-09-22 01:08:21
【问题描述】:
在 python 中使用 Tkinter,尝试制作编号按钮,使用 self.do(x) 将数字 x 添加到字符串变量。这段特殊的代码在循环中(为了节省空间)的问题在于,它会将 LAST 数字添加到字符串中(即本例中的 9)。这是因为它在此之后调用函数,并使用 num[i] 的最新值。有什么办法可以改正吗?
self.numButton = []
num = []
for i in range(9):
num.append(i + 1)
self.numButton.append(Button(root,text=num[i],command=lambda: self.do(num[i])))
【问题讨论】:
-
那一行字很难读。你能把它分成多行或创建一个函数来删除问题中无关紧要的部分吗?
-
你去吧,长度很重要,但我把一般不需要的部分去掉了。
标签: python python-3.x tkinter