第七篇:使用Python实现一个身体质量指标BMI测量的小功能

561 阅读2分钟

Python小案例

一、前置内容

身体质量指数,是BMI(Body Mass Index [4]  )指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。

计算公式为:BMI=体重÷身高的平方。(体重单位:千克;身高单位:米。)

BMI由19世纪中期的比利时通才凯特勒最先提出。 [4]

image.png

二、案例需求

身体质量指数BMI,输用户的体重和身高 , 输出BMI指标分类信息(国际和国类)\

输入: 身高:1.73米 体重:71kg
输出:BMI为23.7,国际BMI显示为正常,国内BMI显示为正常

三、案例分析与解决过程

1、怎么判断不同条件的输出?
使用多分支条件判断 if elif.... else ,对国内国外BMI的相交值做了一个分支处理

四、完整代码


flag =True  
while (flag):  
flag =False  
  
inputWeight = input("请输入体重(千克):\n");  
if (inputWeight.find("exit") == 0):  
print("BMI查询程序退出中!!!!")  
break  
  
inputHeight = input("请输入身高(米):\n");  
if (inputHeight.find("exit") == 0):  
print("BMI查询程序退出中!!!!")  
break  
  
try:  
BMI = eval(inputWeight) / pow(eval(inputHeight), 2)  
except BaseException:  
print("请输入数字类型!!!!!")  
continue  
if (BMI < 18.5):  
print("BMI为{:.1f},国际BMI显示为偏瘦,国内BMI显示为偏瘦".format(BMI), end="\n");  
elif (18.5 <= BMI < 24):  
print("BMI为{:.1f},国际BMI显示为正常,国内BMI显示为正常".format(BMI), end="\n");  
elif (24 <= BMI < 25):  
print("BMI为{:.1f},国际BMI显示为正常,国内BMI显示为偏胖".format(BMI) , end="\n");  
elif (25 <= BMI < 28):  
print("BMI为{:.1f},国际BMI显示为偏胖,国内BMI显示为偏胖".format(BMI), end="\n");  
elif (28 <= BMI < 30):  
print("BMI为{:.1f},国际BMI显示为偏胖,国内BMI显示为肥胖".format(BMI), end="\n");  
else:  
print("BMI为{:.1f},国际BMI显示为肥胖,国内BMI显示为肥胖".format(BMI), end="\n");




五、检验与验收代码

image.png

image.png

image.png

六、复盘所学知识

1、if elif else 分支语句块
2、对于不规范输入数字,通过异常来处理 , try语句块 except BaseException \