BMI Calculator
미터법과 야드파운드법으로 BMI 계산.
BMI 분류
저체중< 18.5
정상 체중18.5 – 24.9
과체중25 – 29.9
비만≥ 30
BMI 계산기는 신체질량지수를 계산합니다 — 키와 체중에서 도출된 널리 사용되는 스크리닝 수치. BMI = 체중(kg) / 키²(m²). 결과를 저체중(18.5 미만), 정상 체중(18.5–24.9), 과체중(25–29.9), 비만(30 이상)으로 분류하여 의료 전문가와 개인 모두에게 빠른 참고 자료를 제공합니다.
미터법(cm/kg) 또는 야드파운드법(ft/lb) 단위로 키와 체중을 입력합니다. 도구가 즉시 BMI를 계산하고 어느 범주에 속하는지와 키에 대한 정상 BMI에 해당하는 체중 범위를 알려줍니다.
BMI는 유용한 인구 수준의 스크리닝 도구이지만 한계가 있습니다: 체지방을 직접 측정하지 않으며, 운동선수(높은 근육량)나 노인(낮은 근육량)을 잘못 분류할 수 있습니다. 건강에 대한 완전한 평가를 위해 항상 의료 제공자와 결과를 논의하세요.
자주 묻는 질문
코드 구현
def calculate_bmi(weight_kg: float, height_m: float) -> float:
"""Calculate Body Mass Index: BMI = weight(kg) / height(m)^2"""
return weight_kg / (height_m ** 2)
def bmi_from_imperial(weight_lbs: float, height_in: float) -> float:
"""Calculate BMI from imperial units."""
return (weight_lbs / (height_in ** 2)) * 703
def classify_bmi(bmi: float) -> str:
"""Classify BMI using WHO categories."""
if bmi < 18.5:
return "Underweight"
elif bmi < 25.0:
return "Normal weight"
elif bmi < 30.0:
return "Overweight"
elif bmi < 35.0:
return "Obese (Class I)"
elif bmi < 40.0:
return "Obese (Class II)"
else:
return "Obese (Class III)"
# Examples
people = [
("Person A", 55, 1.70),
("Person B", 70, 1.75),
("Person C", 90, 1.75),
("Person D", 110, 1.75),
("Person E", 50, 1.80),
]
print(f"{'Name':<12} {'Weight':>8} {'Height':>7} {'BMI':>6} {'Category'}")
print("-" * 55)
for name, w, h in people:
bmi = calculate_bmi(w, h)
print(f"{name:<12} {w:>7} kg {h:>5} m {bmi:>6.1f} {classify_bmi(bmi)}")
# Imperial example
bmi_imp = bmi_from_imperial(154, 68) # 154 lbs, 5'8"
print(f"\nImperial: 154 lbs / 68 in → BMI {bmi_imp:.1f} ({classify_bmi(bmi_imp)})")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.