字符串对象不可调用,GUI BMI Python计算器
我需要为课堂完成的项目提供以下代码帮助。我被最后一部分难住了。我犯了一个错误。下面是我的全部代码:字符串对象不可调用,GUI BMI Python计算器,python,tkinter,Python,Tkinter,我需要为课堂完成的项目提供以下代码帮助。我被最后一部分难住了。我犯了一个错误。下面是我的全部代码: 有人能帮忙吗?为什么在使用该按钮时会出现此错误?问题是,您将category设置为带有self.category='you is Normal'的字符串,然后多次调用它。这就是信息。下面是该函数的更正确版本 def calcBMI(self): #get the weight and height values. weight = int(self.weight_entry.get(
有人能帮忙吗?为什么在使用该按钮时会出现此错误?问题是,您将category设置为带有
self.category='you is Normal'
的字符串,然后多次调用它。这就是信息。下面是该函数的更正确版本
def calcBMI(self):
#get the weight and height values.
weight = int(self.weight_entry.get())
height = int(self.height_entry.get())
#BMI calc
bmi = float((weight * 703)/(height * height))
if bmi >= 30:
self.category ='Your BMI describes you as Obese.'
elif bmi <30 and bmi >=25:
self.category = 'Your BMI describes you as Overweight.'
elif bmi <25 and bmi >=18.5:
self.category = 'Your BMI describes you as Normal.'
else:
self.category = 'Your BMI describes you as Underweight.'
# Display the results
tkinter.messagebox.showinfo('BMI Calulation','Your BMI is: '+
format(bmi,'.1f') + self.category)
def calcBMI(自身):
#获取重量和高度值。
weight=int(self.weight\u entry.get())
height=int(self.height\u entry.get())
#体重指数计算
体重指数=漂浮物((体重*703)/(身高*身高))
如果体重指数>=30:
self.category='您的体重指数将您描述为肥胖。'
elif bmi=25:
self.category='你的体重指数将你描述为超重。'
elif bmi=18.5:
self.category='你的体重指数说明你是正常的。'
其他:
self.category='您的体重指数将您描述为体重不足。'
#显示结果
tkinter.messagebox.showinfo('BMI Calulation','您的BMI为:'+
格式(bmi,'.1f')+自我分类)
我想,您需要为字段赋值,而不是调用它
if bmi >= 30:
self.category = 'Your BMI describes you as Obese.'
elif bmi <30 and bmi >=25:
self.category = 'Your BMI describes you as Overweight.'
elif bmi <25 and bmi >=18.5:
self.category = 'Your BMI describes you as Normal.'
else:
self.category = 'Your BMI describes you as Underweight.'
如果体重指数>=30:
self.category='你的体重指数将你描述为肥胖。'
elif bmi=25:
self.category='你的体重指数将你描述为超重。'
elif bmi=18.5:
self.category='你的体重指数说明你是正常的。'
其他:
self.category='您的体重指数将您描述为体重不足。'
请注意上面代码段中的赋值符号。使用按钮
{}
正确格式化代码self.category
是字符串变量(self.category=“text”
),为什么要将其用作函数-self.category(“text”)
?
def calcBMI(self):
#get the weight and height values.
weight = int(self.weight_entry.get())
height = int(self.height_entry.get())
#BMI calc
bmi = float((weight * 703)/(height * height))
if bmi >= 30:
self.category ='Your BMI describes you as Obese.'
elif bmi <30 and bmi >=25:
self.category = 'Your BMI describes you as Overweight.'
elif bmi <25 and bmi >=18.5:
self.category = 'Your BMI describes you as Normal.'
else:
self.category = 'Your BMI describes you as Underweight.'
# Display the results
tkinter.messagebox.showinfo('BMI Calulation','Your BMI is: '+
format(bmi,'.1f') + self.category)
if bmi >= 30:
self.category = 'Your BMI describes you as Obese.'
elif bmi <30 and bmi >=25:
self.category = 'Your BMI describes you as Overweight.'
elif bmi <25 and bmi >=18.5:
self.category = 'Your BMI describes you as Normal.'
else:
self.category = 'Your BMI describes you as Underweight.'