跳到内容
🛠️ToolsShed

Push-Up Fitness Test

根据YMCA标准按年龄和性别评分您的俯卧撑健身测试。

按年龄和性别的标准 (男性 · 20-29)

类别最少俯卧撑
优秀54+
良好47+
PushUpFitnessTest.aboveAvg37+
平均29+
PushUpFitnessTest.belowAvg22+
较差17+

基于 YMCA / ACE 健身指南的标准

关于此工具

俯卧撑是最可行且最有效的体能测试之一,因为它同时测量上半身力量、核心稳定性和肌肉耐力。与需要昂贵设备的健身房不同,你只需要自己的体重和开阔的地板空间。俯卧撑成绩数十年来被健身组织和军事标准所追踪,成为将你的体能水平与既定规范进行比较的可靠基准。

使用本工具时,选择你的年龄和性别,以正确姿势完成你最好的俯卧撑测试,然后输入你完成的重复次数。计算器立即将你的成绩与YMCA体能评估标准进行比较,告诉你你的体能等级:是低于平均水平、平均、良好、优秀还是最高级。这让你清楚地了解自己的位置和努力目标。

记住一致性比绝对数字更重要——相同的测试条件(同一时段、充分休息、适当预热)有助于你在数周和数月内追踪有意义的进展。无论你是在为运动表现、军事就绪性还是单纯为了改善整体体能而训练,这个工具都能消除猜测,并根据循证标准提供客观反馈。

常见问题

代码实现

# Push-up fitness test score calculator (YMCA standards)

YMCA_STANDARDS = {
    "male": {
        (18, 25): [("Excellent", 56), ("Good", 47), ("Above Average", 41),
                   ("Average", 34), ("Below Average", 25), ("Poor", 18), ("Very Poor", 0)],
        (26, 35): [("Excellent", 51), ("Good", 41), ("Above Average", 35),
                   ("Average", 29), ("Below Average", 22), ("Poor", 17), ("Very Poor", 0)],
        (36, 45): [("Excellent", 46), ("Good", 36), ("Above Average", 30),
                   ("Average", 24), ("Below Average", 18), ("Poor", 13), ("Very Poor", 0)],
        (46, 55): [("Excellent", 41), ("Good", 31), ("Above Average", 25),
                   ("Average", 20), ("Below Average", 13), ("Poor", 9), ("Very Poor", 0)],
        (56, 65): [("Excellent", 36), ("Good", 26), ("Above Average", 21),
                   ("Average", 17), ("Below Average", 9), ("Poor", 6), ("Very Poor", 0)],
    },
    "female": {
        (18, 25): [("Excellent", 42), ("Good", 33), ("Above Average", 28),
                   ("Average", 21), ("Below Average", 15), ("Poor", 10), ("Very Poor", 0)],
        (26, 35): [("Excellent", 39), ("Good", 30), ("Above Average", 24),
                   ("Average", 19), ("Below Average", 13), ("Poor", 8), ("Very Poor", 0)],
        (36, 45): [("Excellent", 34), ("Good", 25), ("Above Average", 20),
                   ("Average", 14), ("Below Average", 9), ("Poor", 5), ("Very Poor", 0)],
        (46, 55): [("Excellent", 29), ("Good", 20), ("Above Average", 15),
                   ("Average", 10), ("Below Average", 6), ("Poor", 3), ("Very Poor", 0)],
        (56, 65): [("Excellent", 24), ("Good", 17), ("Above Average", 12),
                   ("Average", 7), ("Below Average", 4), ("Poor", 2), ("Very Poor", 0)],
    },
}

def get_push_up_rating(age: int, gender: str, count: int) -> str:
    gender = gender.lower()
    if gender not in YMCA_STANDARDS:
        return "Unknown gender"
    for age_range, standards in YMCA_STANDARDS[gender].items():
        if age_range[0] <= age <= age_range[1]:
            for rating, threshold in standards:
                if count >= threshold:
                    return rating
            return "Very Poor"
    return "Age out of range"

# Examples
print(get_push_up_rating(28, "male", 35))    # Good
print(get_push_up_rating(35, "female", 22))  # Above Average

Comments & Feedback

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