如何修复python错误(对象不可调用)

如何修复python错误(对象不可调用),python,Python,所以我现在正在学习Python,我编写了以下代码来练习: 导入时间 从十进制输入十进制 name=input(“\n请输入您的姓名:”) def体重指数(体重、身高): 体重指数=体重/(身高**2) 如果体重指数>29.9: 报告=“肥胖” elif bmi 24.9: 报告=“超重” elif bmi 18.5: 报告=“正常” elif bmi您使用的符号bmi模棱两可 如果执行bmi,report=bmi(weight,height),则基本上覆盖了将此符号用作对同名函数的引用 因此,在

所以我现在正在学习Python,我编写了以下代码来练习:

导入时间
从十进制输入十进制
name=input(“\n请输入您的姓名:”)
def体重指数(体重、身高):
体重指数=体重/(身高**2)
如果体重指数>29.9:
报告=“肥胖”
elif bmi 24.9:
报告=“超重”
elif bmi 18.5:
报告=“正常”

elif bmi您使用的符号
bmi
模棱两可

如果执行
bmi,report=bmi(weight,height)
,则基本上覆盖了将此符号用作对同名函数的引用

因此,在第一次迭代中,它引用一个函数,但在第二次迭代中,它引用一个(不可调用的)变量

因此,运行时解释语言的优势对您不利

bmi = round(bmi, 1)
这使得
bmi
成为一个数字。在循环的下一次迭代中,您编写

bmi, report = bmi(weight, height)
将其用作函数


确定
bmi
是否是结果函数的名称,并一致使用它

对于导致阴影
函数
的函数和变量,代码使用相同的名称
bmi
。使用不同的名称。为避免类似情况,建议“正确”命名函数,意思是:您可以调用函数“calculate\u bmi”,而不是“calculate\u bmi”,通常尝试以函数名开头,例如“remove\u SoapEnv”或“add\u pricingElem”。谢谢您的帮助!
bmi, report = bmi(weight, height)