请老师过目我这代码!

请老师过目我这代码!

# coding:utf-8
height = float(input("请输入身高"))  # 身高
weight = float(input("请输入体重"))  # 体重
bmi = weight / (height*height)       # BMI指数
#如果小于18.5,打印“过轻”
if bmi<18.5:
   print("过轻")
#如果大于等于18.5并且小于等于25,打印“正常”
elif 18.5>bmi<=25:
   print("正常")
#如果大于25并且小于等于28,打印“过重”
elif 25>bmi<=28:
   print("过重")
elif 28>bmi<=32:
   print("严重肥胖")

问题描述:

老师,我这代码运行成功!请问当中有什么需要优化或者改正的错误吗?请老师纠正,谢谢!

正在回答

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

1回答

从第9行开始都不能执行判断。

18.5>bmi<=25 这种写法是我们日常书写习惯,python要写成bmi>18.5 and bmi<=25才能执行。

height = float(input("请输入身高"))  # 身高

weight = float(input("请输入体重"))  # 体重

这两句可以加上友好的单位提示比如:

height = float(input("请输入身高,单位为米"))  # 身高

weight = float(input("请输入体重,单位为kg"))  # 体重


  • 同学,你好!同学的思路是没问题的,代码问题如楼上同学说的一样。

    1、在python关系表达中,变量x小于一个数a并且大于另一个数b要用b<x<a这种方式。

    2、也可以在input 方法中写入身高体重的单位

    3、if 条件判断语句if..elif最后应该是else语句块,同学缺少else。完整参考代码如下:

    # coding:utf-8
    height = float(input("请输入身高"))  # 身高
    weight = float(input("请输入体重"))  # 体重
    bmi = weight / (height*height)       # BMI指数
    print('小明身高为%s,体重为%s,\n小明的身体状况指数为%s' % (height, weight, bmi ))
    #如果小于18.5,打印“过轻”
    if bmi<18.5:
       print("过轻")
    #如果大于等于18.5并且小于等于25,打印“正常”
    #elif 18.5>bmi<=25:
    elif 18.5 < bmi <= 25:
       print("正常")
    #如果大于25并且小于等于28,打印“过重”
    #elif 25>bmi<=28:
    elif 25< bmi <= 28:
       print("过重")
    elif  28<bmi<=32:
        print("肥胖")
    else :
       print("严重肥胖")

    祝学习愉快~

    2023-11-01 17:52:39
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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