跳到内容
🛠️ToolsShed

理想体重计算器

使用多种公式根据身高计算理想体重。

关于此工具

理想体重计算器使用运动医学和健身科学中公认的五种循证公式来估算您的健康体重。该工具不是依赖单一方法,而是呈现来自Robinson、Miller、Devine、Hamwi和健康BMI范围的结果,以展示不同的专家方法如何根据身高和性别产生略有不同的目标。理解这些多个视角有助于您建立现实且个性化的体重目标。

输入您的性别和身高(公制为厘米,或英制为英尺和英寸),然后点击计算。该工具立即以公斤和磅显示来自所有五种公式的体重建议。健康BMI范围显示与标准健康BMI窗口18.5至24.9相对应的体重范围,许多健康组织为了整体健康而推荐这个范围。

没有两个人的理想体重真正相同——骨密度、肌肉量、年龄和健身水平等因素都会影响什么对您来说是健康体重。这些公式最好作为与医疗保健提供者或健身专业人士讨论的起点,尤其是如果您有特定的健康状况或运动目标。定期监测结合整体健身指标比单独的体重可以提供更完整的图景。

常见问题

代码实现

def ideal_weight(height_cm: float, sex: str) -> dict:
    """
    Calculate ideal body weight using Devine, Robinson, and Miller formulas.
    sex: 'male' or 'female'
    Returns weights in kg.
    """
    height_in = height_cm / 2.54
    inches_over_5ft = max(0, height_in - 60)  # inches above 5 feet

    if sex == "male":
        devine  = 50.0  + 2.3   * inches_over_5ft
        robinson = 52.0 + 1.9   * inches_over_5ft
        miller   = 56.2 + 1.41  * inches_over_5ft
    else:
        devine  = 45.5  + 2.3   * inches_over_5ft
        robinson = 49.0 + 1.7   * inches_over_5ft
        miller   = 53.1 + 1.36  * inches_over_5ft

    bmi_low  = 18.5 * (height_cm / 100) ** 2
    bmi_high = 24.9 * (height_cm / 100) ** 2

    return {
        "devine_kg":  round(devine, 1),
        "robinson_kg": round(robinson, 1),
        "miller_kg":  round(miller, 1),
        "bmi_range_kg": f"{bmi_low:.1f} - {bmi_high:.1f}",
    }

result = ideal_weight(170, "female")
print(f"Devine   : {result['devine_kg']} kg")
print(f"Robinson : {result['robinson_kg']} kg")
print(f"Miller   : {result['miller_kg']} kg")
print(f"BMI 18.5-24.9: {result['bmi_range_kg']} kg")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.