Как вызвать функцию, которая состоит из другой функции? - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь написать приложение с 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))

Это связано с тем, что одна функция состоит из вывода других функций? Как и в случае с одной функцией, она работает правильно. Если да, есть ли обходные пути для этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...