🛠️ToolsShed

Calcolatore Passo di Corsa

Calcola passo, velocità, tempo e distanza per qualsiasi gara.

Unit
::

Il calcolatore del ritmo di corsa converte tra ritmo (minuti per chilometro o miglio), velocità (km/h o mph) e tempo di arrivo per le distanze di gara comuni. È uno strumento essenziale per la pianificazione delle gare, la prescrizione dell'allenamento e il confronto delle prestazioni.

Inserisci due delle tre variabili — distanza, tempo e ritmo — e lo strumento calcola la terza. Puoi anche inserire un tempo di arrivo target per una gara e lo strumento ti dice il ritmo richiesto.

Capire il tuo ritmo è fondamentale per evitare di partire troppo veloce all'inizio di una gara e per strutturare sessioni di allenamento a intervalli con ritmi target precisi.

Domande Frequenti

Implementazione del Codice

def pace_to_speed(pace_min_per_km):
    """Convert pace (min/km) to speed (km/h)."""
    return 60 / pace_min_per_km

def speed_to_pace(speed_km_h):
    """Convert speed (km/h) to pace (min/km)."""
    return 60 / speed_km_h

def pace_min_km_to_min_mile(pace_min_per_km):
    """Convert pace from min/km to min/mile."""
    return pace_min_per_km * 1.60934

def finish_time_seconds(distance_km, pace_min_per_km):
    """Calculate finish time in seconds."""
    return distance_km * pace_min_per_km * 60

def format_time(total_seconds):
    """Format seconds as H:MM:SS."""
    total_seconds = int(round(total_seconds))
    h = total_seconds // 3600
    m = (total_seconds % 3600) // 60
    s = total_seconds % 60
    if h > 0:
        return f"{h}:{m:02d}:{s:02d}"
    return f"{m}:{s:02d}"

def format_pace(pace_decimal_minutes):
    """Format decimal minutes as M:SS per km."""
    m = int(pace_decimal_minutes)
    s = round((pace_decimal_minutes - m) * 60)
    if s == 60:
        m += 1; s = 0
    return f"{m}:{s:02d}"


# Standard race distances in km
RACES = {
    "5K":           5.0,
    "10K":          10.0,
    "Half Marathon": 21.0975,
    "Marathon":     42.195,
}

pace_min_km = 5.5  # e.g., 5:30 per km
print(f"Pace: {format_pace(pace_min_km)} /km")
print(f"Speed: {pace_to_speed(pace_min_km):.2f} km/h")
print(f"Pace in min/mile: {format_pace(pace_min_km_to_min_mile(pace_min_km))}")
print()

print("Race finish times:")
for race, dist in RACES.items():
    secs = finish_time_seconds(dist, pace_min_km)
    print(f"  {race:<16} {format_time(secs)}")

Comments & Feedback

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