NSI,2021-2022, TP4

proposition correction

def effectif_total(donnees):
    return len(donnees)
def somme(donnees):
    return sum(donnees)
def moyenne(donnees):
    return sum(donnees)/len(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

def somme(donnees):
    return sum(donnees)
def moyenne(donnees):
    return sum(donnees)/len(donnees)

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(nom_ville):
    position=0
    for ville in donnees:
        nom=ville[0]
        if nom == nom_ville :
            return position
        position+=1
    return False
    
 def temp_moyenne(nom):
    for ville in donnees:
        nom_ville=ville[0]
        if nom == nom_ville :
            temperatures=ville[1]
            moyenne_ville=moyenne(temperatures)
            return round(moyenne_ville,1)
    print("Désolé, nous n'avons pas "+nom+" dans nos données.")  
    
def cumul_precipitations(nom):
    for ville in donnees:
        nom_ville=ville[0]
        if nom == nom_ville :
            precipitations=ville[2]
            sommme_precipitations=somme(precipitations)
            return round(sommme_precipitations,1)
    print("Désolé, nous n'avons pas "+nom+" dans nos données.")