체지방률 계산기
U.S. Navy 방법을 사용하여 체지방률을 추정.
체지방 계산기는 비싼 장비 없이 검증된 측정 방법을 사용하여 체지방률을 추정합니다. 여기서 사용되는 가장 일반적인 방법은 미국 해군 방법으로, 목, 허리, 엉덩이 둘레 측정값과 키를 사용하여 지방 질량을 추정합니다. BMI와 달리 체지방률은 지방 대 제지방 질량의 실제 조성을 더 직접적으로 나타냅니다.
성별, 키, 필요한 둘레 측정값을 센티미터 또는 인치로 입력합니다. 도구가 추정 체지방률을 계산하고 미국 운동 협의회(ACE)가 설정한 나이와 성별별 건강 범위와 비교합니다.
체지방률은 BMI만으로는 볼 수 없는 더 나은 피트니스 지표로 간주되지만 오차 범위가 있습니다 — 황금 표준은 의료 시설에서 이용 가능한 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.