Как рассчитать ввод данных из текстового поля в python? - PullRequest
0 голосов
/ 14 февраля 2020

Я создаю калькулятор 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))

1 Ответ

0 голосов
/ 14 февраля 2020

последнее определение недостаточно выложено, попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...