BMI(Body Mass Index):对身体质量的刻画

国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析

定义:BMI=体重(kg)/身高的平方(m的平方)

分类国际BMI值(kg/m的平方)国际BMI值(kg/m的平方)
偏瘦<18.5<18.5
正常18.5~2518.5~24
偏胖25~3024~28
肥胖>=30>=28

问题需求:输入:给定体重和身高值

输出:BMI指标分类信息(国际和·国内)

思路方法:难点在于同时输出国际和国内对应的分类

思路1:分别计算并给出国际和国内BMI分类

思路2:混合计算并给出国际和国内BMI分类

按思路1进行计算

输出国际BMI值:

代码如下:

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="偏胖"
else:
    who="肥胖"
print("BMI指标为:国际'{0}'".format(who))

运行界面如下:

 输出国内BMI值:

代码示例如下:

height,weight=eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))
bmi=weight/pow(height,2)
print("BMI数值为:{:.2f}".format(bmi))
who=""
if  bmi<18.5:
    who="偏瘦"
elif 18.5<=bmi<24:
    who="正常"
elif   24<=bmi<28:
    who="偏胖"
else:
    who="肥胖"
print("BMI指标为:国际'{0}'".format(who))

运行界面:

按思路2进行计算

输出国际BMI值和国内BMI值:

代码如下:

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))

运行界面: 

举一反三:

关注多分支条件的组合

多分支条件之间的覆盖是重要问题

避免出现程序可运行,但不正确·(要注意多分支是不出现条件错误)

分支结构是程序的重要框架,读程序先看分支。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐