Cours Itérer sur les éléments d’une liste
QCM
  • 1
  • 2
  • 3
  • 4
  • 5

L'énoncé

Cocher la ou les bonne(s) réponses.


Tu as obtenu le score de


Question 1

Que fait le code suivant ?

L = [2, -4, 9, 3, -7, -1, 8, 4]

S = 0

for k in L:

if k > 0:

S = S + k

print(S)

Il affiche la somme des valeurs de L.

Il affiche la somme des valeurs strictement négatives de L.

Il affiche la somme des valeurs positives de L.

Il affiche la somme des valeurs strictement positives de L.

Regarde bien la condition.

La condition : if k > 0 permet de vérifier si k est un nombre strictement positif. Si cette condition est vraie, on peut ajouter k à S, sinon on passe à la prochaine valeur.

Question 2

Quel est la valeur de res en sortant de la boucle ?

res = 0

for i in range(1, 5):

res = res + i**2

La somme des carrés de 1 à 5.

30

La somme des carrés de 1 à 4.

55

La fonction range(val_min, val_max) crée une séquence de valeurs allant de val_min jusqu'à val_max - 1.

i prend successivement les valeurs 1, 2, 3, 4.

Pour i = 1, res = 0 + 1 = 1.

Pour i = 2, res = 1 + 4 = 5.

Pour i = 3, res = 5 + 9 = 14.

Pour i = 4, res = 14 + 16 = 30.

Question 3

Que contient L ?

L = [ k for k in range(0, 10) if k%2 == 0 ]

[0, 2, 4, 6, 8]

Les nombres impaires compris entre 1 et 10.

Les nombres paires compris entre 0 et 9.

[1, 3, 5, 7, 9]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Ici, k est ajouté à la liste seulement quand il respecte la condition.


Le modulo « % » est le reste de la division entière.


Si k % 2 == 0, c'est que le reste de la division de k par 2 est nul. On en déduit que k est divisible par 2 et qu'il est pair.

Question 4

Que fait le code suivant ?

L = [2, 39, 46, 12, 7]

c = 0

s = 0

for k in L:

if k%2 == 0:

s = s + k

c  = c + 1

print(s/c)

Il affiche 23.0.

Il affiche la somme des valeurs pairs de L.

Il affiche 20.0.

Il affiche la moyenne des nombres impairs de L.

Il affiche la moyenne des nombres pairs de L.

c permet de calculer le nombre de valeurs paires de L.

k va prendre successivement les valeurs 2, 39, 46, 12, 7.

Pour k = 2, le modulo est nul, s = 2 et c = 1.

Pour k = 39, le modulo n'est pas nul.

Pour k = 46, le modulo est nul, s = 48 et c = 2.

Pour k = 12, le modulo est nul, s = 60 et c = 3.

Pour k = 7, le modulo n'est pas nul.

On a donc s/c = 60/3 = 20.0.

Question 5

Que fait le code suivant ?

L = [-6, -3, 8, 1, 0, 9, 5, 2, -8]

s = 0

c = 0

res = 0

for k in L:

if k < 0 and k%2 == 0:

s = s + k

c = c + 1

res = s / c 

 

Il calcule la moyenne des nombres pairs de L.

Il calcule la moyenne des nombres strictement négatifs et impaires de L.

Il calcule la moyenne des nombres strictement positifs et pairs de L.

Il calcule la moyenne des nombres strictement négatifs et pairs de L.

CONDITION A and CONDITION B est vraie si CONDITION A et CONDITION B sont vraies. Elle est fausse si CONDITION A et CONDITION B sont fausses ou si l'une des deux est fausse.

La condition est vérifiée quand k < 0 ET quand k%2 == 0. C'est à dire, quand k est strictement négatif ET quand k est pair.