체형 계산기
측정값을 기반으로 체형(외배엽, 중배엽, 내배엽)을 분류합니다.
체형 분류는 골격 측정을 기반으로 한 간단한 추정입니다. 개인 체성분은 매우 다양합니다. 개인화된 조언은 피트니스 전문가에게 문의하세요.
자주 묻는 질문
코드 구현
def classify_body_type(wrist_cm, height_cm):
"""
Classify somatotype using the wrist-to-height ratio.
Thresholds (empirical):
ratio < 0.1035 → Ectomorph (small frame)
ratio > 0.1160 → Endomorph (large frame)
otherwise → Mesomorph (medium frame)
Parameters:
wrist_cm - wrist circumference in centimetres
height_cm - height in centimetres
Returns one of: 'ectomorph', 'mesomorph', 'endomorph'
"""
ratio = wrist_cm / height_cm
if ratio < 0.1035:
return "ectomorph"
elif ratio > 0.1160:
return "endomorph"
return "mesomorph"
DESCRIPTIONS = {
"ectomorph": "Slim frame, fast metabolism, difficulty gaining muscle or fat.",
"mesomorph": "Athletic build, gains/loses weight relatively easily.",
"endomorph": "Larger frame, gains weight easily, tends to retain fat.",
}
# Examples
test_cases = [
(15.5, 180), # small wrist, tall → ectomorph
(17.5, 175), # medium → mesomorph
(21.0, 170), # large wrist → endomorph
]
for wrist, height in test_cases:
body_type = classify_body_type(wrist, height)
ratio = wrist / height
print(f"Wrist {wrist}cm / Height {height}cm = ratio {ratio:.4f} → {body_type}")
print(f" {DESCRIPTIONS[body_type]}")
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.