Python, TkInter. Не выводится ответ из функции в Label
import tkinter
from tkinter import ttk
new = 1
def factorialo():
global new
a = int(vvod.get())
if a < 0:
new = "Введите положительное число!"
elif a == 0:
exit()
else:
for i in range(1, a + 1):
new = new * i
return new
root = tkinter.Tk()
root.title('Нахожедние факториала')
root.geometry("800x500")
print(root.geometry())
tkinter.Label(root, text="Нахождение факториала.").pack(pady=5)
tkinter.Label(root, text="Выход через ввод 0.").pack(pady=5)
vvod = tkinter.Entry(root, width=50, justify=tkinter.CENTER)
vvod.pack()
ttk.Button(root, text="Посчитать", command=factorialo).pack(pady=5)
tkinter.Label(root, text = new).pack(pady=20)
root.mainloop()
Недавно решил проблему с new is not defined и теперь в label вывода выводит единичику из начала кода, return будто не работает.
Источник: Stack Overflow на русском