gpt4 book ai didi

python - BMI计算器错误

转载 作者:行者123 更新时间:2023-12-01 05:25:11 25 4
gpt4 key购买 nike

我正在尝试使用 python 中的类进行计算器。我尝试用以下方法解决:

class Person(object):
def __init__(self,name,age,weight,height):
self.name = name
self.age = age
self.weight = float(weight)
self.height = float(height)
def get_bmi_result(self):
bmi = (self.weight)/float((self.height*30.48)*(self.height*30.48))
print bmi
if bmi <= 18.5:
return "underweight"
elif bmi>18.5 and bmi<25:
return "normal"
elif bmi>30:
return "obese"
pass

当我调用构造函数时:p = Person("hari", "25", "6", "30")p.get_bmi_result它正在返回<bound method Person.get_bmi_result of <Person object at 0x00DAEED0>>
。我输入了以公斤为单位的体重和以英尺为单位的高度,并在计算中尝试将英尺转换为厘米。

最佳答案

您只是忘记调用您的方法:

p.get_bmi_result()

注意那些()括号。您仅取消引用了绑定(bind)方法对象。

通过调用,您的代码运行得很好:

>>> class Person(object):
... def __init__(self,name,age,weight,height):
... self.name = name
... self.age = age
... self.weight = float(weight)
... self.height = float(height)
... def get_bmi_result(self):
... bmi = (self.weight)/float((self.height*30.48)*(self.height*30.48))
... print bmi
... if bmi <= 18.5:
... return "underweight"
... elif bmi>18.5 and bmi<25:
... return "normal"
... elif bmi>30:
... return "obese"
...
>>> p = Person("hari", "25", "6", "30")
>>> p.get_bmi_result()
7.17594027781e-06
'underweight'

显然您的公式仍需要调整,对于体重为 6 英石的人来说,0.000007 的 BMI 根本体重过轻,即使只有 30 英寸(?)小。

根据您的体重和高度单位尺寸,您可能需要consult the BMI formula并稍微调整一下你的方法。

关于python - BMI计算器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21506537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com