You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python BMI与基础代谢率计算器应用于患者列表?

批量计算患者BMI与基础代谢率实现方案

第一步:修正患者数据错误

原患者字典中Damien的年龄键拼写错误(aage_patient → age_patient),先修正该问题,避免后续计算出现KeyError。

第二步:封装可复用的计算函数

把BMI计算、BMI健康分类判断、基础代谢率计算逻辑拆分为独立函数,方便批量调用:

  • calcul_imc(poids, taille):计算BMI数值
  • get_imc_classification(imc):返回BMI对应的健康状态分类
  • calcul_metabolisme_base(poids, taille, age, sexe):计算基础代谢率(MB)

第三步:批量遍历患者列表计算并输出

循环遍历患者字典,为每个患者提取数据、调用计算函数,最后格式化展示结果。


完整修改后的代码

# 修正后的患者列表(修复Damien的年龄键拼写错误)
patients = {
    1: {"nom_patient":"Olivier", "sexe_patient":'H', "age_patient":35, "poids_patient":78, "taille_patient":1.85},
    2: {"nom_patient":"Claire", "sexe_patient":'F', "age_patient":28, "poids_patient":64, "taille_patient":1.74},
    3: {"nom_patient":"Damien", "sexe_patient":'H', "age_patient":65, "poids_patient":89, "taille_patient":1.71}
}

def calcul_imc(poids, taille):
    return poids / (taille ** 2)

def get_imc_classification(imc):
    if imc <= 18.99:
        return "体重过轻,患病风险增加"
    elif imc < 24.99:
        return "体重正常,患病风险较低"
    elif imc < 29.99:
        return "超重,患病风险增加"
    else:
        return "中度肥胖,患病风险较高"

def calcul_metabolisme_base(poids, taille, age, sexe):
    if sexe == 'H':
        return 3.707 * poids + 492.3 * taille - 6.673 * age + 77.607
    elif sexe == 'F':
        return 9.740 * poids + 172.9 * taille - 4.737 * age + 667.051
    else:
        return None

# 批量处理所有患者
for patient_id, patient_info in patients.items():
    nom = patient_info["nom_patient"]
    sexe = patient_info["sexe_patient"]
    age = patient_info["age_patient"]
    poids = patient_info["poids_patient"]
    taille = patient_info["taille_patient"]
    
    # 计算BMI及健康分类
    imc = calcul_imc(poids, taille)
    imc_class = get_imc_classification(imc)
    
    # 计算基础代谢率
    mb = calcul_metabolisme_base(poids, taille, age, sexe)
    
    # 格式化输出结果
    print(f"=== 患者 {nom} 的计算结果 ===")
    print(f"BMI值: {imc:.2f}")
    print(f"健康状况: {imc_class}")
    print(f"基础代谢率(MB): {mb:.2f} kcal/天\n")

代码说明

  • 修正原数据的拼写错误,确保遍历过程不会报错
  • 函数封装后逻辑更清晰,后续调整计算规则或扩展功能更便捷
  • 循环遍历患者字典时,通过键值对逐个提取患者信息并处理
  • 输出结果保留两位小数,格式更直观易读

内容的提问来源于stack exchange,提问作者JCVD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 09:35:32