Push-Up Fitness Test
根据YMCA标准按年龄和性别评分您的俯卧撑健身测试。
按年龄和性别的标准 (男性 · 20-29)
| 类别 | 最少俯卧撑 |
|---|---|
| 优秀 | 54+ |
| 良好 | 47+ |
| PushUpFitnessTest.aboveAvg | 37+ |
| 平均 | 29+ |
| PushUpFitnessTest.belowAvg | 22+ |
| 较差 | 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 AverageComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.