同时表达国际、国内身体BMI指数

首先分析如何定义BMI,以及国际国内的判断标准,这个涉及到多重分支语句。
为了更加明了各定义的取值方位,我们绘制线段图。

第一种,简单的逻辑表达:(没有优化前的,表现为比较的啰嗦)

Wt, Ht = eval(input("请输入体重(kg)和身高(m):"))
BMI = Wt / (Ht * Ht)
if BMI < 18.5:
    print("国际'偏瘦'", "国内'偏瘦'")
elif 18.5 < BMI < 25:
    if 18.5 < BMI < 24:
        print("国际'正常'", "国内'正常'")
    else:
        print("国际'正常'", "国内'偏胖'")
elif 25 < BMI < 30:
    if 25 < BMI < 28:
        print("国际'偏胖'", "国内'偏胖'")
    else:
        print("国际'偏胖'", "国内'肥胖'")
else:
    print("国际'肥胖'", "国内'肥胖'")

 第二种,优化表达式后的:引用了print函数的格式化输出,达到代码简洁的效果

Wt, Ht = eval(input("请输入体重(kg)和身高(m),中间用英文状态逗号隔开:"))
BMI = Wt / (Ht * Ht)
who,nat = '',''
if BMI < 18.5:
    who, nat = '偏瘦', '偏瘦'
elif 18.5 < BMI < 24:
    who, nat = '正常', '正常'
elif 24 < BMI < 25:
    who, nat = '正常', '偏胖'
elif 25 < BMI < 28:
    who, nat = '偏胖', '偏胖'
elif 28 < BMI < 30:
    who, nat = '偏胖', '肥胖'
else:
    who, nat = '肥胖', '肥胖'
print('所对应的的BMI指数是:国际{},国内{}'.format(who,nat))

猜你喜欢

转载自blog.csdn.net/charmingmm815/article/details/123948555