Я пытаюсь создать калькулятор в Tkinter. Хотя мой текущий код хорошо работает для создания кнопок с правильным номером на каждой кнопке, поскольку функция вызывается только после выполнения итерации создания переменных, x всегда равно 8, и, следовательно, все кнопки имеют значение 8. Как я мог обойти эту проблему?
Я пытался без использования лямбды для вызова функции, но тогда кнопки вообще не работают, я не совсем уверен, почему.
Вот основной код:
from tkinter import *
window=Tk()
ButtonFrame=Frame(window)
ButtonFrame.place(x=100,y=100)
def NumPressed (Digit):
print(Digit)
for y in range(3):
for x in range(3):
NumTXT=y*3+x
Buttonx=Button(ButtonFrame,text=NumTXT,command=lambda:NumPressed(NumTXT))
Buttonx.grid(row=y,column=x)