BMI(Body Mass Index):对身体质量的刻画
国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析
定义:BMI=体重(kg)/身高的平方(m的平方)
分类 | 国际BMI值(kg/m的平方) | 国际BMI值(kg/m的平方) |
偏瘦 | <18.5 | <18.5 |
正常 | 18.5~25 | 18.5~24 |
偏胖 | 25~30 | 24~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))
运行界面:
举一反三:
关注多分支条件的组合
多分支条件之间的覆盖是重要问题
避免出现程序可运行,但不正确·(要注意多分支是不出现条件错误)
分支结构是程序的重要框架,读程序先看分支。