Python не выполняет математическое действие (Tkinter)

Python не выполняет математическое действие (Tkinter)

я делаю не сложную программу для нахождения ИМТ(Индекс массы тела)

окно которое должно выводится выводится

mb.showinfo("Ваш ИМТ", IMT)

но там не пишет результат этого вычисления

 IMT = ("{0:.02f}".format(weight / (height) ** (height)))

пишет просто 0.00

а должен вывести результат

import tkinter as tk
from tkinter import *
import tkinter.messagebox as mb

root = Tk()


def btn_click():
    heightInput = float()
    weightInput = float()
    height = heightInput.__float__()
    weight = weightInput.__float__()
    IMT = ("{0:.02f}".format(weight / (height) ** (height)))
    mb.showinfo("Ваш ИМТ", IMT)


root.title("имт")
photo = tk.PhotoImage(file='ico.png')
root.iconphoto (False, photo)
root.geometry('720x480')
root.resizable(width=False, height=False)

canvas = Canvas (root, height=720, width=480)
canvas.pack()
frame = Frame(root, bg = 'white')
frame.place(relx=0, rely=0.15, relwidth=1, relheight=1)
title = Label (frame, text='Найдите свой индекс массы тела', font=('KTFJermilov-Solid', 25, 'bold'))
title.pack()
btn_for_search = Button (frame, text='Найти ИМТ', command=btn_click)
btn_for_search.pack()
heightInput = Entry(frame,)
heightInput.pack()
weightInput = Entry(frame,)
weightInput.pack()

root.mainloop()

Так вы туда не присвоили ничего, кроме 0.

я уже так писал

выдаёт

TypeError: float() argument must be a string or a real number, not ‘Entry’

“Так” это как именно?

Выше я просто процитировал код, в котором все значения – нули.
float() возвращает 0.0.

$ python3
Python 3.10.5 (main, Jun  6 2022, 18:49:26) [GCC 12.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> heightInput = float()
>>> heightInput
0.0
>>> heightInput.__float__()
0.0

а как это изменить? чтоб значения были не 0?

Нужно их брать из полей:

def btn_click(height, weight):
    IMT = ("{0:.02f}".format(weight / (height * height)))
    mb.showinfo("Ваш ИМТ", IMT)
...
btn_for_search = Button(frame, text = 'Найти ИМТ', command = lambda : btn_click(float(heightInput.get()), float(weightInput.get())))

Две звездочки это возведение в степень, а в формуле ИМТ, вроде, рост просто в квадрате.

Спасибо большое