🛠️ToolsShed

博格量表计算器

使用博格RPE量表(6-20)或改良CR10量表(0-10)计算运动强度。

620

Intensity

Somewhat hard

Estimated % Max Heart Rate

~91%

Rating

13

Full Scale Reference

RatingIntensityHR Estimate
6No exertion~60%
7Extremely light~65%
8Extremely light~70%
9Very light~75%
10Very light~80%
11Light~85%
12Light~88%
13Somewhat hard~91%
14Somewhat hard~93%
15Hard~95%
16Hard~96%
17Very hard~97%
18Very hard~98%
19Extremely hard~99%
20Maximum effort~100%

常见问题

代码实现

# Borg RPE Scale calculator
BORG_ORIGINAL = {
    6: ("No exertion", 60), 7: ("Extremely light", 65), 8: ("Extremely light", 70),
    9: ("Very light", 75), 10: ("Very light", 80), 11: ("Light", 85),
    12: ("Light", 88), 13: ("Somewhat hard", 91), 14: ("Somewhat hard", 93),
    15: ("Hard", 95), 16: ("Hard", 96), 17: ("Very hard", 97),
    18: ("Very hard", 98), 19: ("Extremely hard", 99), 20: ("Maximum effort", 100)
}

BORG_CR10 = {
    0: ("Nothing at all", 50), 1: ("Very weak", 60), 2: ("Weak", 65),
    3: ("Moderate", 70), 4: ("Somewhat strong", 77), 5: ("Strong", 84),
    6: ("Strong", 89), 7: ("Very strong", 93), 8: ("Very strong", 96),
    9: ("Very strong", 98), 10: ("Maximum effort", 100)
}

def get_borg_info(rating: int, scale: str = "original") -> dict:
    """Get Borg scale information for a given rating"""
    table = BORG_ORIGINAL if scale == "original" else BORG_CR10
    if rating not in table:
        raise ValueError(f"Rating {rating} not valid for {scale} scale")
    intensity, hr_pct = table[rating]
    return {
        "rating": rating,
        "scale": scale,
        "intensity": intensity,
        "hr_percentage": hr_pct,
        "estimated_hr": f"~{hr_pct}% max HR"
    }

# Monitor heart rate during exercise
def is_moderate_intensity(rating: int, scale: str = "original") -> bool:
    """Check if rating falls in moderate intensity zone"""
    if scale == "original":
        return 11 <= rating <= 14
    return 3 <= rating <= 5

# Usage
info = get_borg_info(13, "original")
print(f"Rating 13: {info['intensity']}, {info['estimated_hr']}")
print(f"Is moderate? {is_moderate_intensity(13)}")  # True

Comments & Feedback

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