Saltar al contenido
🛠️ToolsShed

Calculadora de peso ideal

Calcula tu peso corporal ideal según tu altura usando múltiples fórmulas.

Acerca de esta herramienta

La Calculadora de Peso Ideal estima tu peso corporal saludable usando cinco fórmulas basadas en evidencia reconocidas en medicina deportiva y ciencia del fitness. En lugar de basarse en un único método, esta herramienta presenta resultados de Robinson, Miller, Devine, Hamwi y un rango de IMC saludable para mostrar cómo diferentes enfoques de expertos pueden producir objetivos ligeramente diferentes basados en altura y sexo. Entender estas perspectivas múltiples te ayuda a establecer un objetivo de peso realista y personalizado.

Introduce tu sexo y altura en centímetros (métrico) o pies e pulgadas (imperial), luego haz clic en Calcular. La herramienta muestra instantáneamente recomendaciones de peso de las cinco fórmulas en kilogramos y libras. El rango de IMC saludable muestra una banda de peso que corresponde a la ventana de IMC saludable estándar de 18,5 a 24,9, que muchas organizaciones de salud recomiendan para el bienestar general.

Ninguna dos personas tienen un peso ideal verdaderamente idéntico — factores como densidad ósea, masa muscular, edad y nivel de fitness influyen en qué significa un peso saludable para ti. Estas fórmulas funcionan mejor como punto de partida para una conversación con un proveedor de salud o profesional del fitness, especialmente si tienes condiciones de salud específicas u objetivos atléticos. El monitoreo regular combinado con métricas generales de fitness proporciona una visión más completa que el peso solo.

Preguntas Frecuentes

Implementación de Código

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.