Найти - Пользователи
Полная версия: помощь для новичка. с ошибкой кода bmi
Начало » Python для новичков » помощь для новичка. с ошибкой кода bmi
1
Max.Max
from tkinter import *

from tkinter import messagebox

def calculate_bmi(): тут ошибка, как исправить не пойму.
kg = int(weight_tf.get())

m = int(heihgt_tf.get())/100

bmi = kg/(m*m)

bmi = round(bmi, 1)

if bmi < 18.5: messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует недостаточному весу')

elif (bmi > 18.5) and (bmi < 24.9): messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует нормальному весу')

elif (bmi > 24.9) and (bmi < 29.9): messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует избыточному весу')

else: messagebox.showinfo('bmi-pythonguides', f'ИМТ = {bmi} соответствует ожирению')

root = Tk()

root.title(“Калькулятор индекса массы тела (ИМТ)”)

root.geometry('400x300')

Frame = Frame(root, padx = 10, pady = 10)

Frame.pack(expand=True)

heihgt_lb = Label(Frame, text=“Введите свой рост (в см)”)

heihgt_lb.grid(row=3, column=1)

weight_lb = Label(Frame, text=“Введите свой вес (в кг)”,)

weight_lb.grid(row=4, column=1)

heihgt_tf = Entry(Frame,)

heihgt_tf.grid(row=3, column=2, pady=5)

weight_tf = Entry(Frame,)

weight_tf.grid(row=4, column=2, pady=5)

cal_btn = Button(Frame, text='Рассчитать ИМТ', command=calculate_bmi)

cal_btn.grid(row=5, column=2)

root.mainloop()
Ошибка NameError: name ‘bmi’ is not defined, подскажите что не так.
py.user.next
Max.Max
подскажите что не так
У тебя неправильно выставлены отступы. Из-за этого bmi попадает не в ту область видимости и становится в ней несуществующей переменной, с которой пытаются выполнить какую-то операцию.
Max.Max
Спасибо, за совет но я думаю не в этом дело. Переменная определяется если ей задать так bmi=1 допустим, тогда программа запускается но с ошибкой исполнения. Вот я и ломаю голову что не такб а отступы в порядке вроде.
py.user.next
Выложи код по-нормальному
[code python]
тут пиши код
[/code]

Max.Max
а отступы в порядке вроде
Если бы они были в порядке, этой ошибки бы не было
Max.Max
 NameError: name 'bmi' is not defined
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB