Калькулятор жира в теле
Оцените процент жира в теле с использованием метода ВМС США.
Калькулятор жировой массы тела оценивает процент жира с использованием проверенных методов измерения, не требующих дорогого оборудования. Наиболее распространённый метод — метод ВМС США, использующий замеры шеи, талии и бёдер вместе с ростом.
Введите пол, рост и необходимые замеры окружностей в сантиметрах или дюймах. Инструмент рассчитает примерный процент жира и сравнит его со здоровыми диапазонами, установленными Американским советом по физическим упражнениям (ACE).
Процент жира считается более информативным показателем физической формы, чем ИМТ, но и он имеет погрешность. Стандарт точности — DEXA-сканирование и гидростатическое взвешивание. Регулярные измерения в одинаковых условиях ценнее любого единичного показания.
Часто задаваемые вопросы
Реализация кода
import math
def navy_body_fat_male(waist_cm: float, neck_cm: float, height_cm: float) -> float:
"""
US Navy body fat formula for males.
%BF = 86.010 * log10(waist - neck) - 70.041 * log10(height) + 36.76
"""
return 86.010 * math.log10(waist_cm - neck_cm) - 70.041 * math.log10(height_cm) + 36.76
def navy_body_fat_female(waist_cm: float, hip_cm: float, neck_cm: float, height_cm: float) -> float:
"""
US Navy body fat formula for females.
%BF = 163.205 * log10(waist + hip - neck) - 97.684 * log10(height) - 78.387
"""
return 163.205 * math.log10(waist_cm + hip_cm - neck_cm) - 97.684 * math.log10(height_cm) - 78.387
def classify_body_fat_male(bf_percent: float) -> str:
if bf_percent < 6: return "Essential fat"
if bf_percent < 14: return "Athletes"
if bf_percent < 18: return "Fitness"
if bf_percent < 25: return "Acceptable"
return "Obese"
def classify_body_fat_female(bf_percent: float) -> str:
if bf_percent < 14: return "Essential fat"
if bf_percent < 21: return "Athletes"
if bf_percent < 25: return "Fitness"
if bf_percent < 32: return "Acceptable"
return "Obese"
# Male example
waist, neck, height = 85.0, 37.5, 178.0
bf_male = navy_body_fat_male(waist, neck, height)
print(f"Male example: waist={waist}cm, neck={neck}cm, height={height}cm")
print(f" Body fat: {bf_male:.1f}% ({classify_body_fat_male(bf_male)})")
# Female example
waist_f, hip_f, neck_f, height_f = 72.0, 95.0, 33.5, 165.0
bf_female = navy_body_fat_female(waist_f, hip_f, neck_f, height_f)
print(f"\nFemale example: waist={waist_f}cm, hip={hip_f}cm, neck={neck_f}cm, height={height_f}cm")
print(f" Body fat: {bf_female:.1f}% ({classify_body_fat_female(bf_female)})")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.