Я создаю калькулятор ie калькулятор. Поскольку я новичок в python, я не знаком с его работой. Там нет ошибки, но вывод равен нулю, я не могу понять, почему расчет не работает. Также я показываю вывод в текстовом поле. Может кто-нибудь проверить, почему он не работает
class user:
def __init__(self,window):
self.window = window
self.frame = Frame(self.window, bg = 'White', width=700,height=500)
option = StringVar()
dblcalorie = float()
self.gain = gain = float()
activity_level = float()
self.age = Label (self.frame,text ='AGE :',fg ='black',font=('Georgia',14,'bold'))
self.age_text = int
self.agee = Entry(self.frame,textvariable = self.age_text, fg = 'black',width = 250)
self.height = Label (self.frame, text='Height :', fg = 'black', font = ('Georgia', 14, 'bold'))
self.height_text = int
self.height1 = Entry (self.frame,textvariable = self.height_text, fg ='black', width = 250 )
self.weight = Label (self.frame, text ='weight :', fg ='black', font =('Georgia', 14, 'bold'))
self.weight_text = int
self.weight1 = Entry (self.frame, textvariable = self.weight_text, fg ='black', width = 250)
option.set("men")
self.radio = Label (self.frame,text = 'Gender',width=25, font = ('Arial',14))
self.male = Radiobutton (self.frame,text = 'Male',variable = option, value = "men")
self.female = Radiobutton (self.frame,text = 'female',variable = option, value = "women")
self.activity = Label(self.frame,text ="Activity:",fg ='black', font =('Georgia', 14, 'bold'))
self.combo = ttk.Combobox(self.frame,values=["light","normal","heavy"])
self.gainl=Label(self.frame,text='Gain:',fg ='black', font =('Georgia', 14, 'bold'))
self.gain = Text(self.frame,width = 250, font = ('Arial',14))
self.buttoncal = Button(self.frame,text='calculate',bg='gray',fg='gray12',font=('Georgia',14,'bold'),cursor='hand2', command = lambda: self.calculate(activity_level))
def gender(self):
if self.option.get() =="men":
dblcalorie = (13.397 * int(self.weight_text.get())) + (4.799 * int(self.height_text.get())) - (5.677 * int(self.age_text.get())) + 88.362
else:
dblcalorie = (13 * int(self.weight_text.get())) + (4 * int(self.height_text.get())) - ( 5 * int(self.age_text.get())) + 88
return dblcalorie
def activity(self,dblcalorie):
if len(self.combo.get()) == 0:
messagebox.showinfo("ERROR", "please choose one activity level ")
elif self.combo.get() == 'light':
activity_level = 1.375 * dblcalorie
elif self.combo.get() == 'moderate':
activity_level = 1.55 * dblcalorie
elif self.combo.get() == 'heavy':
activity_level = 1.725 * dblcalorie
elif self.combo == 'extreme':
activity_level = 1.9 * dblcalorie
return activity_level
def calculate(self,activity_level):
self.gain.insert(END,str(activity_level))