思路:
BMI是对身体质量的刻画 标准分为国际标准和国内标准 国内 国际 偏瘦 <18.5 <18.5 正常 18.5-24 18.5-25 偏胖 24-28 25-30 肥胖 >=28 >=30 根据ipo编程方法构建程序框架:明确输入,过程方法,输入 输入为体重和身高 输出为对应BMI以及分类信息 过程方法: 分别计算国际国内分类 混合计算给出国际国内分类
代码实现:
下为混合计算方法:
h = eval(input("您的身高(米)是:").strip("米m"))
# 获取身高数据并去除尾缀单位
w = eval(input("您的体重(千克)是:").strip("千克kg"))
# 获取体重数据并去除尾缀单位
bmi = w/pow(h,2)
# 获得bmi值
if bmi <18.5:
dcase,icase = "偏瘦" , "偏瘦"
elif 18.5 <=bmi and bmi< 24:
dcase, icase = "正常", "正常"
elif 24 <= bmi and bmi < 25:
dcase, icase = "偏胖", "正常"
elif 25 <= bmi and bmi < 28:
dcase, icase = "偏胖", "偏胖"
elif 28 <= bmi and bmi < 30:
dcase, icase = "肥胖", "偏胖"
elif bmi >=30:
dcase, icase = "肥胖", "肥胖"
#主体部分,通过多分支结构实现赋值,dcase为国内标准下分类,icase为国际标准下分类
print("您的bmi指数为{:.1f}\n按照国内标准属于{:s}\n按照国际标准属于{:s}".format(bmi,dcase,icase))
# \n用于实现换行
效果为:
您的身高(米)是:1.6m
您的体重(千克)是:56kg
您的bmi指数为21.9
按照国内标准属于正常
按照国际标准属于正常