Python 3.x 在一个函数中用python创建多个按钮

Python 3.x 在一个函数中用python创建多个按钮,python-3.x,tkinter,button,Python 3.x,Tkinter,Button,我正在为彩票应用程序创建Gui。要应用这一点,我需要创建49个按钮。现在我想通过使用一个函数来创建我需要的按钮,使它更干净。我用tkinter。为了解决这个问题,我创建了一个范围为1到49的列表名称按钮。然后我使用了一个for循环: for i in button: button_i = tkinter.Button(Fenster, text=i, bd=20 , command= lambda :[switch(button_i,i),zahl(i,button_i) , prin

我正在为彩票应用程序创建Gui。要应用这一点,我需要创建49个按钮。现在我想通过使用一个函数来创建我需要的按钮,使它更干净。我用tkinter。为了解决这个问题,我创建了一个范围为1到49的列表名称按钮。然后我使用了一个for循环:

for i in button:
     button_i = tkinter.Button(Fenster, text=i, bd=20 , command= lambda :[switch(button_i,i),zahl(i,button_i) , print(Spielerzahlen)])
     button_i.grid(row=y, column=z)
     z = z + 1
     if z == 7:
            y += 1
            z = 0
现在的问题是,“switch”和“zahl”命令不运行,因为我将按钮的名称绑定为参数。我如何在按钮名称中使用元素i,以便每一轮按钮的名称都发生变化

多谢各位

您诚挚的

Detek001

您需要的是一个“收尾”,您可能需要阅读以下内容:

下面是一个简单的工作示例:


进口tkinter
从tkinter进口*
芬斯特=Tk()
def关闭(一):
返回λ:打印(i)
对于范围(49)内的i:
按钮i=tkinter.button(Fenster,text=i,command=closure(i))
按钮网格(行=i%7,列=i//7)
Fenster.mainloop()

command=lambda:…
更改为
command=lambda i=i:…