代码哪里出现问题了,解答一下

img

print("先生(女士)您好这是一个测试BMI值的机器")
name=input('您是? 男/女 :')
fi = float(input("请输入您的身高(m)"))
f2 = ")

没问题呀,这个算出来BMI是22多点,显示偏胖不是一点问题都没有吗
你不会是直接把身高代进if里检验的吧
你在测试的时候,好歹自己得知道正确答案是什么,别把对的改错了

是女士,不是女生

代码没问题,就是有点冗余。

def bmi_calc(sex, hight, weight):
    bmi = weight / (hight ** 2)
    # 未做异常处理,如输入其他非“男”字符都会将角色改为女士
    role = '先生' if sex == '男' else '女士'
    if bmi <= 18.5:
        print('{}您的BMI值属于偏瘦'.format(role))
    elif bmi <= 20:
        print('{}您的BMI值属于正常'.format(role))
    elif bmi <= 25:
        print('{}您的BMI值属于偏胖'.format(role))
    else:
        print('您的BMI值属于肥胖'.format(role))


if __name__ == '__main__':
    print('先生/女士 您好,这是一个BMI测试计算器')
    sex = input('请输入您的性别(男/女):')
    hight = float(input('请输入您的身高(单位:米):'))
    weight = float(input('请输入您的体重(单位:千克):'))
    bmi_calc(sex, hight, weight)