两个输出,在一定条件下能得到两个结果,其他只有一个

问题遇到的现象和发生背景

一个代码,在满足bmi>30时能得到两个输出结果,其他条件下都只有一个bmi的值为多少

问题相关代码,请勿粘贴截图

a,b =eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi= b/pow(a,2)
print("BMI 数值为: {:.2f}".format(bmi))
who=""
if bmi < 18.5:
who="偏瘦"
elif 18.5 < bmi < 25:
who="正常"
elif 25 < bmi < 30:
who="偏胖"
else:
who="肥胖"
print("BMI 指标为:国际{0}".format(who))

运行结果及报错内容

img

img

我的解答思路和尝试过的方法
我想要达到的结果

最后一行前面的空格去掉,最后一个print写到条件里面了 所以只有满足条件才会打印


# 用户输入字符
# Filename : test.py
# author by : www.runoob.com

a,b =eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi= b/pow(a,2)
print("BMI 数值为: {:.2f}".format(bmi))
who=""
if bmi < 18.5:
     who="偏瘦"
elif 18.5 < bmi < 25:
     who="正常"
elif 25 < bmi < 30:
     who="偏胖"
else:
     who="肥胖"
print("BMI 指标为:国际{0}".format(who))



如有帮助,希望点一下下采纳