NSI,2021-2022,Leçon N°4, Les tuples

Proposition correction

def temps_secondes(temp):
    '''
    >>>temps_secondes((1,10,5))
    4205
    '''
    heures=temp[0]
    minutes=temp[1]
    secondes=temp[2]
    return heures*3600+minutes*60+secondes

def temps_h_mn_s(temp):
    '''
    >>>temps_h_mn_s(4205)
    (1,10,5)
    '''
    heures=temp//3600
    minutes=(temp%3600)//60
    secondes=(temp%3600)%60
    return (heures,minutes,secondes)

donnees=(
 # ( nom du candidat, temps sous la forme (h,mn,s))
 ("Paul",(2,3,45)),
 ("Sandrine",(1,10,5)),
 ("Jacques",(2,0,15))
 )

def temps_en_s(var):
    retour=()
    for coureur in var:
        nom_coureur=coureur[0]
        temps_coureur=coureur[1]
        temps_coureur_s=temps_secondes(temps_coureur)
        # j'ajoute (nom_coureur,temp_coureur_s)
        # à mon retour
        retour+=((nom_coureur,temps_coureur_s),)
    return retour

def liste_temps(var):
    tuple_retour=()
    for candidat in var:
        temps=candidat[1]
        tuple_retour+=(temps_s,)
    return tuple_retour

def val_min(var):
    val_min=min(var)
    position_val_min=var.index(val_min)
    return val_min,position_val_min

def gagnant(var):
    temps_donnees_en_s=temps_en_s(var)
    liste_temps_en_s=liste_temps(temps_donnees_en_s)
    position_gagnant=val_min(liste_temps_en_s)[1]
    nom_gagnant=var[position_gagnant][0]
    return nom_gagnant