Body Age Calculator
Оцените биологический возраст тела на основе ИМТ, артериального давления, физической активности и факторов образа жизни.
Об этом инструменте
Калькулятор биологического возраста оценивает ваш биологический возраст на основе показателей здоровья, таких как ИМТ, артериальное давление, уровень физической активности и факторы образа жизни. В отличие от вашего календарного возраста, биологический возраст отражает, насколько хорошо ваше тело функционирует и восстанавливается на клеточном уровне. Этот инструмент особенно полезен для людей, заинтересованных в отслеживании своей траектории здоровья, понимании влияния изменений образа жизни или получении простой оценки здоровья без визита к врачу.
Чтобы использовать калькулятор, просто введите свои основные данные: возраст, пол, вес, рост, показатели артериального давления, частоту упражнений и факторы образа жизни, такие как курение и употребление алкоголя. Инструмент затем анализирует эти данные в сравнении с рекомендациями по здоровью и формулами, основанными на исследованиях, чтобы оценить, является ли ваше тело более молодым, более старым или примерно эквивалентным вашему календарному возрасту. Большинство людей проводят эту оценку ежегодно для отслеживания изменений и мотивации более здорового образа жизни.
Помните, что этот калькулятор предоставляет образовательную оценку, а не медицинский диагноз. Такие факторы, как генетика, качество сна, уровень стресса и специфические медицинские состояния, могут значительно влиять на ваш истинный биологический возраст, но могут не быть учтены здесь. Если у вас есть существующие проблемы со здоровьем или вы принимаете лекарства, рассмотрите возможность обсудить ваши результаты с медицинским работником для более полного понимания вашего состояния здоровья.
Часто задаваемые вопросы
Реализация кода
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.