Проблема в том, что tk.Button
не ожидает, что его команда примет аргумент, и не передает его. Это ваш обратный вызов, который ожидает аргумент и не получает его.
Все, что вы ожидаете, что ваш обратный вызов получит, должно исходить из другого места. В этом случае, кажется, addvalue
может просто трактовать AmountEntered
как глобальную переменную (хотя, вероятно, есть лучшие альтернативы):
amount_entered = ""
def add_value(value):
global amount_entered
amount_entered += value
def clear():
global amount_entered
amount_entered = ""
number = tk.Button(root, text="7", command=lambda: addvalue("7"))
number.grid(row=0, column=0, sticky='nesw')