使用 tkinter 循环制作具有不同输出的类似小部件

Use tkinter loop to make similar widgets with different outputs

我正在尝试创建一个循环来添加小部件。 该代码应该添加 5 个按钮,每个按钮在按下时给出不同的数字。

import tkinter as tk
top = tk.Tk()
m1 =tk.Frame(width=400, height=400)
m1.pack()


def thingie(s):
    
    print(s)

for i in range(5):

    btn = tk.Button(m1, text='Button'+str(i), command=lambda:thingie(i))
    btn.place(x=0, y=i*35)

top.mainloop()

代码运行没有错误,但每个按钮都给我相同的数字而不是不同的数字。我该如何解决这个问题?

import tkinter as tk
top = tk.Tk()
m1 =tk.Frame(width=400, height=400)
m1.pack()


def thingie(s):
    print(s)


for i in range(5):
    btn = tk.Button(m1, text='Button'+str(i), command=lambda m=i: thingie(m))
    btn.place(x=0, y=i*35)

top.mainloop()