Калькулятор идеального веса
Рассчитайте ваш идеальный вес по росту с использованием нескольких формул.
Об этом инструменте
Калькулятор идеального веса рассчитывает здоровый вес тела, используя пять основанных на доказательствах формул, признанных в спортивной медицине и фитнес-науке. Вместо одного метода инструмент показывает результаты Robinson, Miller, Devine, Hamwi и диапазон здорового ИМТ, демонстрируя, как разные экспертные подходы могут дать немного отличающиеся цели в зависимости от роста и пола. Понимание этих разных точек зрения поможет вам установить реалистичную и персональную цель веса.
Введите пол и рост в сантиметрах (метрическая система) или футах и дюймах (английская система), затем нажмите Вычислить. Инструмент мгновенно выводит рекомендации по весу из всех пяти формул в килограммах и фунтах. Диапазон здорового ИМТ показывает полосу веса, соответствующую стандартному диапазону здорового ИМТ 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.