BMI = 0
weight = int(input()) # weight in kg
height = float(input()) # height in m
BMI = weight / height ** 2
if BMI < 18.5:
print("Underweight")
elif BMI <= 18.5 and BMI > 25:
print("Normal")
elif BMI >= 25 and BMI < 30:
print("Overweight")
else:
print("Obesity")
您的第一个elif
语句
elif BMI <= 18.5 and BMI > 25:
需要像这个一样更改
elif BMI >= 18.5 and BMI < 25:
我认为@python learner的答案是你想要的(https://stackoverflow.com/a/71501575/218663)但我想向你展示一种我经常使用的替代方案,使这种炉灶更容易。让我们使用一个函数来获取正确的文本。然后,我们可以依靠此函数的return
功能,这使我们的范围测试更容易遵循:
def bmi_result(bmi):
if bmi < 18.5:
return "Underweight"
if bmi < 25:
return "Normal"
if bmi < 30:
return "Overweight"
return "Obesity"
对这个答案发表评论,这样我就知道你明白了,我会删除它。对你的问题发表评论有点太多了,你想要的答案再次由@python learner 提供