Vai al contenuto
🛠️ToolsShed

Calcolatore del peso ideale

Calcola il tuo peso corporeo ideale in base all'altezza usando più formule.

Informazioni sullo strumento

Il Calcolatore del Peso Ideale stima il tuo peso corporeo sano utilizzando cinque formule basate su evidenze riconosciute in medicina dello sport e scienze del fitness. Invece di affidarsi a un unico metodo, questo strumento presenta risultati da Robinson, Miller, Devine, Hamwi e un intervallo di BMI sano per mostrare come diversi approcci di esperti possono produrre obiettivi leggermente diversi in base all'altezza e al sesso. Comprendere queste prospettive molteplici ti aiuta a stabilire un obiettivo di peso realistico e personalizzato.

Inserisci il tuo sesso e la tua altezza in centimetri (metrico) o piedi e pollici (imperiale), quindi fai clic su Calcola. Lo strumento visualizza istantaneamente raccomandazioni di peso da tutte e cinque le formule in chilogrammi e libbre. L'intervallo di BMI sano mostra una banda di peso corrispondente alla finestra di BMI sano standard di 18,5–24,9, che molte organizzazioni sanitarie consigliano per il benessere generale.

Nessuno ha veramente un peso ideale identico — fattori come la densità ossea, la massa muscolare, l'età e il livello di fitness influenzano tutti ciò che il peso sano significa per te. Queste formule funzionano meglio come punto di partenza per una discussione con un operatore sanitario o un professionista del fitness, soprattutto se hai condizioni di salute specifiche o obiettivi atletici. Il monitoraggio regolare combinato con metriche di fitness generali fornisce un quadro più completo del solo peso.

Domande Frequenti

Implementazione del Codice

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.