Body Age Calculator
BMI, 혈압, 운동 습관, 생활 방식 요인을 기반으로 생물학적 체나이를 추정합니다.
낮음높음
이 도구 소개
바디에이지 계산기는 BMI, 혈압, 운동 수준, 생활 습관 등의 건강 지표를 기반으로 생물학적 나이를 추정합니다. 실제 나이와 달리 생물학적 나이는 세포 수준에서 신체가 얼마나 잘 기능하고 회복되고 있는지를 반영합니다. 이 도구는 건강 상태의 변화를 추적하고, 생활 습관 변화의 영향을 이해하거나, 의사를 방문하지 않고 간단한 건강 평가를 원하는 사람들에게 특히 유용합니다.
계산기를 사용하려면 나이, 성별, 체중, 키, 혈압 수치, 운동 빈도, 흡연 및 음주와 같은 생활 습관 등의 기본 정보를 입력하기만 하면 됩니다. 도구는 이러한 정보를 건강 가이드라인 및 연구 기반 공식과 비교하여 신체가 실제 나이보다 젊은지, 나이가 많은지, 또는 대략 같은지를 추정합니다. 대부분의 사람들은 변화를 모니터링하고 더 건강한 습관을 유지하기 위해 매년 이 평가를 실시합니다.
이 계산기는 의료 진단이 아닌 교육 목적의 추정치일 뿐임을 기억하세요. 유전학, 수면 질, 스트레스 수준, 특정 의학적 상태 등의 요인들은 실제 생물학적 나이에 큰 영향을 미칠 수 있지만 이 도구에는 반영되지 않을 수 있습니다. 기존 건강 문제가 있거나 약물을 복용 중이라면 건강 상태를 더 완벽하게 이해하기 위해 의료 전문가와 결과를 논의하는 것을 고려하세요.
자주 묻는 질문
코드 구현
def calculate_body_age(
chronological_age: int,
bmi: float,
systolic_bp: int,
resting_hr: int,
weekly_exercise_hours: float,
smoking: bool,
sleep_hours: float,
stress_level: int # 1-10
) -> dict:
"""
Estimate biological age based on lifestyle factors.
Returns body age and adjustments.
"""
body_age = chronological_age
adjustments = []
# BMI impact (optimal 18.5-24.9)
if bmi < 18.5:
body_age += 1
adjustments.append("Underweight (+1 year)")
elif 25 <= bmi < 30:
body_age += 2
adjustments.append("Overweight (+2 years)")
elif bmi >= 30:
body_age += 5
adjustments.append("Obese (+5 years)")
# Blood pressure (optimal < 120/80)
if systolic_bp >= 140:
body_age += 5
adjustments.append("High blood pressure (+5 years)")
elif systolic_bp >= 120:
body_age += 2
adjustments.append("Elevated BP (+2 years)")
# Resting heart rate (optimal 50-70)
if resting_hr < 60:
body_age -= 2
adjustments.append("Low resting HR (-2 years)")
elif resting_hr > 90:
body_age += 4
adjustments.append("High resting HR (+4 years)")
elif resting_hr > 75:
body_age += 2
adjustments.append("Slightly high HR (+2 years)")
# Exercise (optimal 5+ hours/week)
if weekly_exercise_hours >= 5:
body_age -= 4
adjustments.append("Active lifestyle (-4 years)")
elif weekly_exercise_hours >= 2.5:
body_age -= 2
adjustments.append("Moderate exercise (-2 years)")
elif weekly_exercise_hours < 1:
body_age += 3
adjustments.append("Sedentary (+3 years)")
# Smoking
if smoking:
body_age += 8
adjustments.append("Smoking (+8 years)")
# Sleep (optimal 7-9 hours)
if sleep_hours < 6 or sleep_hours > 9:
body_age += 2
adjustments.append("Poor sleep (+2 years)")
# Stress (optimal 1-3)
if stress_level >= 7:
body_age += 3
adjustments.append("High stress (+3 years)")
elif stress_level >= 5:
body_age += 1
adjustments.append("Moderate stress (+1 year)")
return {
"chronological_age": chronological_age,
"body_age": max(chronological_age - 15, body_age),
"difference": body_age - chronological_age,
"adjustments": adjustments
}
result = calculate_body_age(
chronological_age=35, bmi=22.5, systolic_bp=115,
resting_hr=62, weekly_exercise_hours=4, smoking=False,
sleep_hours=7.5, stress_level=4
)
print(f"Chronological age: {result['chronological_age']}")
print(f"Body age: {result['body_age']}")
print(f"Difference: {result['difference']:+d} years")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.