🛠️ToolsShed

Calculateur de Répétition Maximale

Estimez votre 1RM maximum avec les formules d'Epley, Brzycki et d'autres.

Questions Fréquentes

Implémentation du Code

def epley(weight, reps):
    """Epley formula: 1RM = w * (1 + r/30)"""
    if reps == 1:
        return weight
    return weight * (1 + reps / 30)

def brzycki(weight, reps):
    """Brzycki formula: 1RM = w * 36 / (37 - r)"""
    if reps == 1:
        return weight
    if reps >= 37:
        raise ValueError("Brzycki formula undefined for reps >= 37")
    return weight * 36 / (37 - reps)

def lander(weight, reps):
    """Lander formula: 1RM = (100 * w) / (101.3 - 2.67123 * r)"""
    if reps == 1:
        return weight
    return (100 * weight) / (101.3 - 2.67123 * reps)

def one_rep_max(weight, reps):
    """Average of the three major 1RM estimation formulas."""
    e = epley(weight, reps)
    b = brzycki(weight, reps)
    l = lander(weight, reps)
    return (e + b + l) / 3

# Example usage
weight_kg = 100
reps = 5
estimated_1rm = one_rep_max(weight_kg, reps)
print(f"Estimated 1RM: {estimated_1rm:.1f} kg")
print(f"  Epley:   {epley(weight_kg, reps):.1f} kg")
print(f"  Brzycki: {brzycki(weight_kg, reps):.1f} kg")
print(f"  Lander:  {lander(weight_kg, reps):.1f} kg")

# Training percentages
percentages = {
    "Warm-up (50-60%)": (0.50, 0.60),
    "Endurance (60-70%)": (0.60, 0.70),
    "Hypertrophy (70-85%)": (0.70, 0.85),
    "Strength (85-95%)": (0.85, 0.95),
    "Peaking (95-100%)": (0.95, 1.00),
}
print("\nTraining zones:")
for zone, (lo, hi) in percentages.items():
    print(f"  {zone}: {estimated_1rm * lo:.1f} – {estimated_1rm * hi:.1f} kg")

Comments & Feedback

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