四、程序的控制结构
4.2 实例5:身体质量指数BMI
BMI:对身体质量的刻画
- BMI:Body Mass Index
- 国际上用于衡量人体肥胖和健康程度的重要标准,主要用于统计分析
- 定义:MBI = 体重 (kg) / 身高2(m2)
分类 | 国际BMI值(kg/m2) | 国内BMI值(kg/m2) |
---|---|---|
偏瘦 | <18.5 | <18.5 |
正常 | 18.5~25 | 18.5~24 |
偏胖 | 25~30 | 24~28 |
肥胖 | ≥30 | ≥28 |
问题需求
- 输入:给定体重和身高值
- 输出:BMI指标分类信息(国际和国内)
思路方法
- 难点在于同时输出国际和国内对应的分类
- 思路1:分别计算并给出国际和国内BMI分类
- 思路2:混合计算井给出国际和国内BMI分类
#CalBMIv1.py
height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = weight / pow(height, 2)
print("\nBMI数值为:{:.2f}".format(bmi))
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))
举一反三
关注多分支条件的组合
- 多分支条件之间的覆盖是重要问题
- 程序可运行,但不正确,要注意多分支
- 分支结构是程序的重要框架,读程序先看分支