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.