Proposition correction ( ne manque que les deux dernières fonctions )
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 val_max(donnees)-val_min(donnees)
def effectif_valeur(donnees,valeur):
return donnees.count(valeur)
def frequence_valeur(donnees,valeur):
return effectif_valeur(donnees,valeur)/effectif_total(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):
indice=0
for ville in donnees:
if ville[0]==nom_ville:
return indice
indice+=1
return False
def ville_dans_liste1(nom_ville):
# parcours par indice
for indice in range(len(donnees)):
if donnees[indice][0]==nom_ville:
return indice
return False
les deux dernières fonctions
def temp_moyenne(ville):
'''
retourne la température moyenne
annuelle de la ville
arrondie à 1 chiffre après la
virgule
: ville : str
: return : float
>>>temp_moyenne("Lille")
10.0
>>>temp_moyenne("Marseille")
'Désolé, nous n'avons pas les données de Marseille'
'''
indice=ville_dans_liste(ville)
if indice==False and ville!=donnees[0][0]:
return "Désolé, nous n'avons pas les données de "+ville
temperatures=donnees[indice][1]
return round(moyenne(temperatures),1)
def cumul_precipitation(ville):
indice=ville_dans_liste(ville)
if indice==False and ville!=donnees[0][0]:
return "Désolé, nous n'avons pas les données de "+ville
precipitations=donnees[indice][2]
return round(somme(precipitations),1)