Стандартна помилка новачка. Графічний інтерфейс не призначений для обчислення, він призначений для спілкування з користувачем. Тобто вам потрібен окремо ваш звичайний код для обчислення, окремо - ваш код для створення інтерфейсу, і засоби введення-виведення для передачі інформації з одного в інше.
Крім того, ви звикли до лінійного виконання програм. Графічний інтерфейс реалізує іншу, подійну модель - користувач продукує події, програма їх обробляє кожну окремо. Якщо трохи (зовсім трохи) заглибитися, то відбувається щось на кшталт (всі назви умовні)
while True:
for event in get_system_events():
handler[event.type](event.data)
Це, власне, і є метод mainloop() (ще раз - дуже спрощено). get_system_events повертає список подій, що сталися (користувач натиснув кнопку, пересунув мишку і т.д.); є список обробників (отой handler), який для кожної події викликає відповідну функцію.
Найпримітивніше на tkinter можна вводити дані через віджет Entry, на кшталт
#інтерфейсна частина
input = Entry(root) #створюємо нове поле для введення
input.pack() #розміщуємо його на формі
#там, де треба оброляти дані
s = input.get() #читаємо стрічку, майже як із консольного input()
Виводити можна, скажімо, на якийсь Label:
#інтерфейсна частина
output = Label(root, text="")
output.pack()
#там, де треба оброляти дані
output['text'] = "що-ми-там-хочемо-вивести"
Ну і все це прив'язати до якихось подій, скажімо, до натискання кнопки:
#інтерфейсна частина
button = Button(text="Пуск", command=calculate) #calculate - наша функція для обчислень
button.pack()
def calculate():
#а ось тут ми, власне, і обробляємо дані