示例5:身体质量指数BMI

BMI的定义

-BMI:国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析
-定义:BMI=体重(kg)/身高*身高(m*m)
 

身体质量指数标准

 思路方法:

-难点在于同时输出国际和国内对应的分类
-思路1:分别计算并给出国际和国内BMI分类
-思路2:混合计算并给出国际和国内BMI分类

直接上混合代码:

#CalBMIv1.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))

逐行分析:

#CalBMIv1.py
注释,不执行
height,weight=eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))
在控制台提示并要求用户要输入身高和体重
bmi=weight/pow(height,2)
根据定义,求bmi的值
print("BMI数值为:{:.2f}".format(bmi))
输出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="肥胖","肥胖"

根据国际和国内标准定义if,else语句的执行效果
print("BMI 指标为:国际'{0}',国内'{1}'".format(who,nat))
输出国际国内的BMI判断后的结果
 

举一反三

-多分支条件之间的覆盖是重要问题,是此程序研究重点
-程序可运行,但结果不正确,要注意多分支的逻辑顺序
-分支结构是程序的重要框架,读程序先看分支,理清逻辑再逐行分析程序意图

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐