Cours Stage - Itérer sur les éléments d’une liste

Exercice - Itérer sur les éléments d’une liste.

L'énoncé

zDans cet exercice on considère une liste de 30 cases des températures moyennes de chaque jour du dernier mois :

T = [ -3, 0, 2, 5, 16, 12, 21, -2, -5, 8, 6, 5, 9, 13, 17, 1, 0, -3, -6, -1, 7, 8, 10, 13, 25, 16, 19, 3, -7, 0 ]


Question 1

Ecrire un programme permettant de calculer la température moyenne du mois.

sum = 0

moy = 0

for temp in T:

sum = sum + temp # On peut aussi écrire sum += temp

moy = sum / 30

print(moy)

Commence par calculer la somme, le nombre de jours est déjà connu.

Question 2

Ecrire un programme permettant de créer une liste T_P qui contient les températures positives de T.

Calculer et afficher la moyenne de ces températures.

Indication : on pourra utiliser la fonction len() pour obtenir la taille de T_P.

T_P = [ temp for temp in T if temp > 0 ]

sum = 0

moy = 0

for temp in T_P:

sum = sum + temp

moy = sum / len(T_P)

print(moy)

len(T_P) te donne le nombre de températures positives.

Question 3

Ecrire un programme qui calcule et affiche le nombre de jours avec une température nulle ou négative dans le mois.

k = 0

for temp in T:

if temp <= 0:

k += 1

print(k)

Tu peux utiliser un compteur qui s'incrémente seulement quand on trouve une température négative ou nulle.

Question 4

Ecrire un programme permettant de calculer et d'afficher la moyenne des températures paires sans créer de nouvelle liste.

 sum = 0

moy = 0

nb_temp = 0

for temp in T:

if temp % 2 == 0:

sum += temp

nb_temp += 1

moy = sum / nb_temp

print(moy)

Utilise un compteur pour savoir combien il y a de températures paires.

Question 5

Ecrire un programme permettant de créer une liste T_NI contenant les températures négatives et impaires de T.

En déduire, sans utiliser la fonction len(), le nombre de jours dans le mois ayant une température négative et impaire.

T_NI = [ temp for temp in T if temp < 0 and temp%2 != 0 ]

k =  0

for temp in T_NI:

if temp % 2 != 0:

k += 1

print(k)

Tu peux utiliser l'opérateur booléens "and" pour savoir si une température est négative ET impaire.