Вот один из способов реализации логики отображения цифр и операций в поле ввода калькулятора:
```python
def add_digit(digit):
global x1
value = calc.get()
if value[0] == '0' and len(value) == 1:
x1 = ''
calc.delete(0, tk.END)
calc.insert(tk.END, x1 + digit)
x1 = calc.get()
def complete_operation(operation):
global x2, x3
value = calc.get()
x2 = operation
x3 = value
def calculate():
global x1, x2, x3
value = calc.get()
x3 = value
result = eval(x1 + x2 + x3) # Выполняем вычисления
calc.delete(0, tk.END)
calc.insert(tk.END, str(result))
x1 = str(result)
x2 = ''
x3 = ''
def clear():
global x1, x2, x3
calc.delete(0, tk.END)
calc.insert(tk.END, '0')
x1 = '0'
x2 = ''
x3 = ''
```
В этом примере используются глобальные переменные `x1`, `x2` и `x3` для хранения значений чисел и операции.
Функция `add_digit` вызывается при вводе цифры. Она проверяет, является ли первый символ в поле ввода нулем, и если да, то удаляет его. Затем она добавляет введенную цифру к текущему значению в поле ввода и сохраняет его в переменной `x1`.
Функция `complete_operation` вызывается при выборе операции. Она сохраняет текущее значение в поле ввода в переменной `x3` и сохраняет выбранную операцию в переменной `x2`.
Функция `calculate` вызывается при нажатии кнопки "=" и выполняет вычисления, используя значения в переменных `x1`, `x2` и `x3`. Результат выводится в поле ввода, а переменные `x1`, `x2` и `x3` обновляются.
Функция `clear` вызывается при нажатии кнопки "С" и очищает поле ввода, а также сбрасывает значения переменных `x1`, `x2` и `x3`.