Я пытаюсь написать приложение с Python и Tkinter. Который будет выполнять вычисления, состоящие из нескольких функций, получая в качестве аргументов выходные данные друг друга. И покажет пользователю последний результат функции
На бэкэнде кажется, что код работает правильно, как в примере ниже 50 печатается, как и ожидалось. Но мне не удается заставить работать кнопку.
import tkinter as tk
main_window = tk.Tk()
a=1
b=2
c=3
d=4
e=5
def function (a,b,c):
return a+b+c
def sumation (d):
sum = function (a,b,c)
return sum + d
def multiplication (e):
return sumation (d) * e
def callback():
print (multiplication (e))
print (multiplication (e))
b = tk.Button(text="click me", command=callback)
b.pack()
main_window.mainloop()
Я ожидаю, что при каждом нажатии кнопки будет напечатано 50, но я получаю эту ошибку:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:...\Programs\Python\Python37-32\Lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:.../Programs/Python/Python37-32/Lib/Program.py", line 24, in callback
print (multiplication (e))
Это связано с тем, что одна функция состоит из вывода других функций? Как и в случае с одной функцией, она работает правильно. Если да, есть ли обходные пути для этой проблемы?