跳到内容
🛠️ToolsShed

Sprint Interval Calculator

计算HIIT冲刺间隔工作,支持Tabata、Sprint 8和自定义协议。

预设

关于此工具

高强度间歇训练(HIIT)是在最少时间内提高心肺健康和燃烧卡路里的最有效方法之一。冲刺间隔计算器通过计算Tabata和Sprint 8等流行协议的精确运动和休息间隔,帮助您精确规划这些高强度锻炼。无论您是为了运动表现还是改善整体健身水平,准确的计时对于最大化每次训练的效益都至关重要。

使用此计算器时,只需选择您喜欢的HIIT协议(如Tabata:20秒运动加10秒休息、Sprint 8)或使用自定义的运动和休息持续时间。输入您想完成的组数或总运动时间,工具会立即显示每个阶段的确切计时。然后您可以在锻炼期间跟随生成的时间表,使用这些间隔来调整冲刺和恢复期的节奏。

此工具非常适合跑步者、自行车手、CrossFit运动员和想要获得精确锻炼安排而无需依赖外部应用或计时器的健身爱好者。计算器完全在浏览器中运行,让您可以在锻炼前快速访问。请记住,HIIT对身体要求很高,因此应在训练之间进行充分休息,如果您是初学者,请咨询专业健身教练。

常见问题

代码实现

import math

def calculate_hiit_session(protocol: str, body_weight_kg: float) -> dict:
    """Calculate HIIT sprint interval session details."""
    protocols = {
        "tabata":   {"sprint": 20, "rest": 10, "sets": 8, "rounds": 1, "rest_between": 60},
        "30-60":    {"sprint": 30, "rest": 60, "sets": 8, "rounds": 1, "rest_between": 0},
        "40-20":    {"sprint": 40, "rest": 20, "sets": 8, "rounds": 1, "rest_between": 60},
        "sprint8":  {"sprint": 30, "rest": 90, "sets": 8, "rounds": 1, "rest_between": 0},
    }
    p = protocols.get(protocol, protocols["tabata"])

    # MET-based calorie estimation
    MET_SPRINT = 14.0   # sprint running
    MET_WALK = 3.5      # recovery walking

    sprint_time_min = (p["sprint"] * p["sets"]) / 60
    rest_time_min = (p["rest"] * p["sets"] + p["rest_between"]) / 60

    cal_sprint = MET_SPRINT * body_weight_kg * sprint_time_min / 60
    cal_rest = MET_WALK * body_weight_kg * rest_time_min / 60
    total_cal = cal_sprint + cal_rest

    total_time = p["sprint"] * p["sets"] + p["rest"] * p["sets"] + p["rest_between"]

    return {
        "protocol": protocol,
        "sets": p["sets"],
        "sprint_sec": p["sprint"],
        "rest_sec": p["rest"],
        "total_time_sec": total_time,
        "calories_burned": round(total_cal, 1),
    }

result = calculate_hiit_session("tabata", 70)
print(f"Protocol: {result['protocol']}")
print(f"Sets: {result['sets']} x {result['sprint_sec']}s sprint / {result['rest_sec']}s rest")
print(f"Total time: {result['total_time_sec']}s ({result['total_time_sec']//60}min {result['total_time_sec']%60}s)")
print(f"Estimated calories: {result['calories_burned']} kcal")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.