1.判断的大于<是否能连着这样用。2.我输入1.75 120 数值是超标的,但只判断了第二条,没有走到最后的判断

1.判断的大于<是否能连着这样用。2.我输入1.75 120 数值是超标的,但只判断了第二条,没有走到最后的判断

问题描述:

1.判断的><=是否能连着这样用。2.我输入1.75  120   数值是超标的,但只判断了第二条,没有走到最后的判断

相关代码:

height = float(input("请输入身高"))  # 身高
weight = float(input("请输入体重"))  # 体重
bmi = weight / (height*height)       # BMI指数
if bmi<18.5:
    print(str(bmi),"过轻")
elif bmi>=18.5<=25:
    print(str(bmi),"正常")
elif bmi>25<=28:
    print(str(bmi),"过重")
elif bmi>28<=32:
    print(str(bmi),"过于肥胖")
else:
    print(str(bmi),"严重肥胖")
print("小明的身高为:",str(height),"体重为:",str(weight))
print("小明身体状况指数为:",str(bmi))


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小猿 2023-08-07 13:10:14

同学,你好!1、是可以连着用的,但是同学写的方式是不对的 ,以bmi小于25 大于18.5的表达式为例,应该用如下写法

https://img1.sycdn.imooc.com//climg/64d07a660932217102670071.jpg


if... elif....else...满足一个条件后,后续代码便不执行了。同学输入1.75,120后bmi值为39.183673469387756不满足if 条件,执行第一个elif :39.39.183673469387756>=18.5结果为真,值为1 ,1<=25也为真,最后结果为真,执行print("正常")代码,后续的elif 和else 都不会执行了。

2、完整参考代码如下:

https://img1.sycdn.imooc.com//climg/64d07caa0989c67205570404.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师