目录
- 一、"身体质量指数BMI"问题分析
- 1.1 身体质量指数BMI
- 1.2 问题需求
- 二、"身体质量指数BMI"实例讲解
- 2.1.1 国际
- 2.1.2 国内
- 2.1 身体质量指标BMI
- 三、"身体质量指数BMI"举一反三
一、"身体质量指数BMI"问题分析
1.1 身体质量指数BMI
BMI:对身体质量的刻画
BMI:Body Mass Index:国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析
定义:\(BMI = 体重 (kg) / 身高^2 (m^2)\)
-
实例:体重 72 kg,身高 1.75 m
- BMI 值是 23.5
这个值是否健康呢?
国际:世界卫生组织 国内:国家卫生健康委员会
分类 | 国际BMI值\((kg/m^2)\) | 国内BMI值\((kg/m^2)\) |
---|---|---|
偏瘦 | <18.5 | <18.5 |
正常 | 18.5 ~ 25 | 18.5 ~ 24 |
偏胖 | 25 ~ 30 | 24 ~ 28 |
肥胖 | ≥30 | ≥28 |
1.2 问题需求
-输入:给定体重和身高值
-输出:BMI指标分类信息(国际和国内)
二、"身体质量指数BMI"实例讲解
2.1 身体质量指标BMI
思路方法
- 难点在于同时输出国际和国内对应的分类
- 思路1:分别计算并给出国际和国内BMI分类
- 思路2:混合计算并给出国际和国内BMI分类
分类 | 国际BMI值\((kg/m^2)\) | 国内BMI值\((kg/m^2)\) |
---|---|---|
偏瘦 | <18.5 | <18.5 |
正常 | 18.5 ~ 25 | 18.5 ~ 24 |
偏胖 | 25 ~ 30 | 24 ~ 28 |
肥胖 | ≥30 | ≥28 |
2.1.1 国际
# CalBMIv1.py height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: ")) bmi = weight / pow(height, 2) print("BMI 数值为:{:.2f}".format(bmi)) who = "" if bmi < 18.5: who = "偏瘦" elif 18.5 <= bmi < 25: who = "正常" elif 25 <= bmi < 30: who = "偏胖" print("BMI 指标为:国际'{0}'".format(who))
请输入身高(米)和体重\(公斤)[逗号隔开]: 1.8,70 BMI 数值为:21.60 BMI 指标为:国际'正常'
2.1.2 国内
# CalBMIv2.py height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: ")) bmi = weight / pow(height, 2) print("BMI 数值为:{:.2f}".format(bmi)) nat = "" if bmi < 18.5: nat = "偏瘦" elif 18.5 <= bmi < 24: nat = "正常" elif 25 <= bmi < 38: nat = "偏胖" print("BMI 指标为:国内'{0}'".format(nat))
请输入身高(米)和体重\(公斤)[逗号隔开]: 1.8,70 BMI 数值为:21.60 BMI 指标为:国内'正常'
# CalBMIv3.py height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]: ")) bmi = weight / pow(height, 2) print("BMI 数值为:{:.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 指标为:国际'{0}', 国内'{1}'".format(who, nat))
请输入身高(米)和体重\(公斤)[逗号隔开]: 1.8,70 BMI 数值为:21.60 BMI 指标为:国际'正常', 国内'正常'
三、"身体质量指数BMI"举一反三
关注多分支条件的组合
- 多分支条件之间的覆盖是重要问题
- 程序可运行,但不正确,要注意多分支
- 分支结构是程序的重要框架,读程序先看分支