NSI,2024-2025, Tp tuples stats

proposition correction

a=(2,1,3,6,1,2,8,10,3,1,1,3,4,8,9,10)

def effectif_total(donnees):
    return len(donnees)
 
def somme(donnees):
    return sum(donnees)

def moyenne(donnees):
    return somme(donnees)/effectif_total(donnees)

def val_max(donnees):
    return max(donnees)

def val_min(donnees):
    return min(donnees)

def etendue(donnees):
    return max(donnees)-min(donnees)

def effectif_valeur(donnees,valeur):
    return donnees.count(valeur)

def frequence_valeur(donnees,valeur):
    return effectif_valeur(donnees,valeur)/effectif_total(donnees)

 


# proposition correction projet météo


donnees=(
 ("Lille",
 (2.8,3.4,6.2,9.3,12.6,15.4,17.1,17.3,15.2,11,6.6,3.6),
 (52,44,49,42,54,60,62,60,60,63,69,58)),
 ("Turin",
 (1.4,3.6,8.3,12.6,17.1,20.7,23.6,22.4,18.8,13,6.9,2.9),
 (38,52,71,97,108,89,55,70,68,86,71,41)),
 ("Moscou",
 (-9.2,-8,-2.5,5.9,12.8,16.8,18.4,16.6,11.2,4.9,-1.5,-6.2),
 (43,35,33,42,49,78,89,76,63,61,57,53)),
 ("Madrid",
 (5,6.4,9.6,12.2,15.8,20.4,24,23.2,19.6,14,8.9,5.4),(43,44,35,45,44,28,11,11,30,51,58,50)),
 ("Alméria",
 (11.8,12.2,14.1,15.8,18.5,21.8,24.8,25.3,23.3,19.3,15.4,12.7),
 (30,22,22,24,18,9,1,2,13,31,27,29)),
 ("Berlin",
 (-0.9,0,3.9,8.6,13.5,16.8,18.6,18,14.4,10.4,4.4,1),
 (43,34,35,41,54,70,57,61,44,37,45,49))
 )

def ville_dans_liste(ville):

    for index in range(len(donnees)):
        if donnees[index][0]==ville:
            return index
    return False

def temp_moyenne(ville):
    if str(ville_dans_liste(ville))==str(False):
        return "Désolé, on n'a pas "+ville
    index_ville=ville_dans_liste(ville)
    temps=donnees[index_ville][1]
    return moyenne(temps)