Калькулятор зон сердечного ритма
Рассчитайте 5 тренировочных зон сердечного ритма по возрасту и пульсу покоя.
Калькулятор зон сердечного ритма определяет пять тренировочных зон на основе возраста и, по желанию, измеренного пульса в покое. Тренировки в конкретных зонах ЧСС нацелены на различные физиологические адаптации: от восстановления до максимального увеличения VO2max.
Введите возраст — инструмент оценит максимальную ЧСС (ЧСС макс) по наиболее распространённой формуле: 220 минус возраст. Если вы знаете свой реальный ЧСС макс по фитнес-тесту, введите его для более точных зон. Добавление пульса в покое активирует метод Карвонена.
Для эффективного использования зон носите кардиомонитор во время тренировок и старайтесь оставаться в целевой зоне. Большинству любителей рекомендуется проводить около 80% тренировочного времени в зонах 1-2 и 20% — в более интенсивных зонах.
Часто задаваемые вопросы
Реализация кода
def calculate_hr_zones(age: int, resting_hr: int = 60, method: str = "fox") -> dict:
"""
Calculate heart rate training zones.
method: 'fox' (220 - age), 'tanaka' (208 - 0.7 * age), 'karvonen' (uses resting HR)
"""
if method == "tanaka":
max_hr = 208 - 0.7 * age
else:
max_hr = 220 - age
if method == "karvonen":
hrr = max_hr - resting_hr # Heart Rate Reserve
zones = {
"Zone 1 (Recovery)": (resting_hr + 0.50 * hrr, resting_hr + 0.60 * hrr),
"Zone 2 (Aerobic)": (resting_hr + 0.60 * hrr, resting_hr + 0.70 * hrr),
"Zone 3 (Tempo)": (resting_hr + 0.70 * hrr, resting_hr + 0.80 * hrr),
"Zone 4 (Threshold)": (resting_hr + 0.80 * hrr, resting_hr + 0.90 * hrr),
"Zone 5 (Max)": (resting_hr + 0.90 * hrr, max_hr),
}
else:
zones = {
"Zone 1 (Recovery)": (0.50 * max_hr, 0.60 * max_hr),
"Zone 2 (Aerobic)": (0.60 * max_hr, 0.70 * max_hr),
"Zone 3 (Tempo)": (0.70 * max_hr, 0.80 * max_hr),
"Zone 4 (Threshold)": (0.80 * max_hr, 0.90 * max_hr),
"Zone 5 (Max)": (0.90 * max_hr, max_hr),
}
print(f"Age: {age}, Max HR: {max_hr:.0f} bpm, Method: {method}")
for name, (lo, hi) in zones.items():
print(f" {name}: {lo:.0f} - {hi:.0f} bpm")
return zones
calculate_hr_zones(age=30, resting_hr=65, method="karvonen")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.