第二十节课:python实例五:身体质量指数BMI计算

python实例五:身体质量指数BMI计算

一、问题分析

BMI计算公式:

BMI = 体重(kg) / 身高(m)^2

在这里插入图片描述

国际与国内标准对比

分类 国际标准 国内标准
偏瘦 <18.5 <18.5
正常 18.5-25 18.5-24
偏胖 25-30 24-28
肥胖 ≥30 ≥28

二、实现要点

输入处理

# 同时接收身高体重输入(示例输入:1.75,72)
height, weight = eval(input("请输入身高(m)和体重(kg),用逗号分隔:"))

关键说明

  • eval()函数将输入字符串转换为Python表达式
  • 输入格式必须为数值1,数值2形式
  • 自动解包赋值给height和weight变量

三、代码实现

国际标准判断

# 计算BMI值
bmi = weight / pow(height, 2)

# 国际标准判断
if bmi < 18.5:
    inter = "偏瘦"
elif 18.5 <= bmi < 25:
    inter = "正常" 
elif 25 <= bmi < 30:
    inter = "偏胖"
else:
    inter = "肥胖"

国内标准判断

# 国内标准判断
if bmi < 18.5:
    dom = "偏瘦"
elif 18.5 <= bmi < 24:
    dom = "正常"
elif 24 <= bmi < 28:
    dom = "偏胖"
else:
    dom = "肥胖"

完整代码

# 获取输入
h, w = eval(input("请输入身高(m)和体重(kg),用逗号分隔:"))
bmi = w / (h**2)

# 国际标准判断
if bmi < 18.5:
    inter = "偏瘦"
elif 18.5 <= bmi < 25:
    inter = "正常" 
elif 25 <= bmi < 30:
    inter = "偏胖"
else:
    inter = "肥胖"

# 国内标准判断
if bmi < 18.5:
    dom = "偏瘦"
elif 18.5 <= bmi < 24:
    dom = "正常"
elif 24 <= bmi < 28:
    dom = "偏胖"
else:
    dom = "肥胖"

# 输出结果
print(f"\n国际标准: {inter}\n国内标准: {dom}")

四、举一反三

多分支条件注意事项

  1. 条件覆盖顺序:必须从严格到宽松排列条件
  2. 边界值处理:使用<=<明确包含/排除边界
  3. 条件互斥性:确保不同分支条件不会重叠

代码阅读技巧

def calculate_bmi():
    # 重点关注if-elif结构划分的逻辑区块
    if condition1:
        # 分支1处理逻辑
    elif condition2:
        # 分支2处理逻辑
    else:
        # 默认处理逻辑

调试建议

  • 使用边界值测试(如18.5,24,25,28等)
  • 打印中间变量值验证计算过程
  • 添加异常处理应对非法输入

关键学习点:通过本案例掌握多条件分支结构的实现技巧,理解不同标准体系的实现差异,培养处理复杂条件判断的能力。

你可能感兴趣的:(python,python)