🛠️ToolsShed

체형 계산기

측정값을 기반으로 체형(외배엽, 중배엽, 내배엽)을 분류합니다.

체형 분류는 골격 측정을 기반으로 한 간단한 추정입니다. 개인 체성분은 매우 다양합니다. 개인화된 조언은 피트니스 전문가에게 문의하세요.

자주 묻는 질문

코드 구현

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.