NSI : leçon 6

correction

# question 1
len(a)*len(a[0])

# question 2
def temps_secondes(temp):
  '''
  retourne le temps en secondes correspondant au temps ( h ,mn, s )
  : temp : (h,mn,s) tuple
  : return : temps en secondes, int
  >>>temps_secondes((1,10,5))
  4205
  '''
  return temp[0]*3600+temp[1]*60+temp[2]

# question 3
def temps_h_mn_s(temp):
  '''
  retourne le temps donné en secondes en temps ( h ,mn, s )
  : temp : temps en secondes, int
  : return : (h,mn,s) tuple
  >>>temps_h_mn_s(4205)
  (1,10,5)
  '''
  heures=temp//3600
  reste=temp%3600
  minutes=reste//60
  secondes=reste%60
  return heures,minutes,secondes

suite correction

donnees=(
 ("Paul",(2,3,45)),
 ("Sandrine",(1,10,5)),
 ("Jacques",(2,0,15))
 )

def temps_en_s(var):
    retour=()
    for candidat in var:
        nom=candidat[0]
        temps=temps_secondes(candidat[1])
        retour+=((nom,temps),)
    return retour

def liste_temps(var):
    ''' retourne les temps sous la forme d'un tuple:
    >>>course=(('Paul', 7425), ('Sandrine', 7102), ('Jacques', 7215))
    >>>liste_temps(course)
    (7425,7102,7215)
    '''
    retour=()
    for element in var:
        retour=retour+(element[1],)
    return retour

def val_min(var):
    '''
    retourne la valeur minimale et l'indice correspondant
    >>>A=(2,3,6,2,1,6)
    >>>val_min(A)
    (1,4)
    '''
    valeur_min=min(var)
    indice=var.index(valeur_min)
    return (valeur_min,indice)

def gagnant(var):
    '''
    retourne le nom du gagnant de la course
    : return : str
    >>> gagnant(donnees)
    'Sandrine'
    '''
    course=temps_en_s(var)
    temps=liste_temps(course)
    tuple_gagnant_course=val_min(temps)
    nom_gagnant=course[tuple_gagnant_course[1]][0]
    return nom_gagnant