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

为何我的Python IMC(BMI)计算函数无法正常运行?

解决Python计算IMC(BMI)的问题

你的代码存在三个关键问题,导致无法得到正确结果:

  • 未调用函数:最后一行仅写IMC只会输出函数对象,必须通过IMC(参数1, 参数2)的形式调用函数才能执行计算。
  • IMC计算公式错误:正确的身体质量指数公式是 体重(kg) ÷ (身高(m))²,你写反了身高和体重的除法顺序,且输入的185是厘米单位,需要转换为米(1.85m)才能代入公式。
  • 字符串拼接错误:不能直接将浮点数与字符串相加,必须先把数值转换为字符串类型,或者使用格式化字符串处理。

修正后的代码示例:

def calcular_imc(estatura_cm, peso_kg):
    # 将身高从厘米转换为米
    estatura_m = estatura_cm / 100
    # 计算正确的IMC值
    imc_valor = peso_kg / (estatura_m ** 2)
    # 使用格式化字符串输出结果,保留两位小数更直观
    return f"Tu índice de masa corporal es {imc_valor:.2f}"

estatura = 185
peso = 74.60
# 调用函数并打印结果
print(calcular_imc(estatura, peso))

执行这段代码后,会输出类似这样的结果:

Tu índice de masa corporal es 21.79

另外,建议避免函数名和内部变量名重复(原代码中函数和内部变量都叫IMC),虽然Python允许,但容易造成混淆,这里将函数名改为calcular_imc更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:54:26