Chapitre 5
5.1 Boucle while
2.
c.
21 est le premier nombre de Fibonacci supérieur à 20, et pour
g = 21, la condition s'évaluera à
False
pour la première fois.
3.
a.
Le code affiche d'abord la valeur initiale de la variable
f. Ensuite, à chaque itération, la valeur de g est affichée, et la valeur de g tout au long de l'exécution du code sera
1
,
2
,
3
,
5
,
8
et
13
. Ainsi, toutes les valeurs affichées sont
1
,
1
,
2
,
3
,
5
,
8
et
13
.
5.
b.
La condition d'arrêt de la boucle est
n = 0 ; par conséquent, la valeur de n après la boucle est égale à
0
. La dernière ligne affichée sera : value of n after the loop is 0.
6.
c.
Puisque la valeur d'initialisation de
n est égale à
4
et que la valeur de n ne fait qu'augmenter, la condition de la boucle restera toujours vraie. La boucle ne se terminera jamais.
5.2 Boucle for
1.
b.
Il y a huit caractères dans
str_var. L'itération sur tous les caractères et l'incrémentation de la variable count à chaque itération donne pour count's la valeur
8
.
2.
a.
Puisque la valeur initiale de
count est
0
, multiplier count par n'importe quel nombre donne comme résultat
0
.
3.
c.
La ligne ajoutée affiche chaque caractère parcouru par la boucle (le caractère
c) et affiche un * supplémentaire après le caractère.
4.
a.
La sortie sera une séquence croissante comprise entre
10
et
22
(les deux inclus) :
10
,
13
,
16
,
19
et
22
.
5.
c.
L'expression commence une séquence à partir de
5
, diminue de 1 à chaque pas et se termine à
1
.
6.
a.
La fonction
range() génère une séquence décroissante, commençant à -1 jusqu'à -2. Par conséquent, la sortie est -1.
7.
c.
Lorsque le pas est négatif, la séquence générée est dans l'ordre décroissant. Par conséquent,
start doit être supérieur à end ; sinon, aucune séquence ne sera générée.
8.
c.
Lorsque deux arguments sont fournis à la fonction
range(), les arguments sont considérés comme le start et la end de la séquence, et le pas sera de
1
. Lorsque le pas est positif, la séquence générée est dans l'ordre croissant, et par conséquent, start doit être inférieur à end. Sinon, aucune séquence ne sera générée.
5.3 Boucles imbriquées
1.
b.
Les combinaisons de valeurs de
i et j, (i, j), qui satisfont aux conditions des boucles interne et externe sont les suivantes : (1, 1), (1, 2), (1, 3), (1, 4), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (4, 1)
2.
b.
Chaque exécution complète de la boucle interne affiche trois caractères « * », et la boucle externe s'exécute deux fois.
3.
b.
Chaque ligne
Par conséquent, la boucle externe s'exécute tant que
i de la sortie (i =
1
,
2
,
3
et
4
) contient i fois les valeurs
1
à
4
.Par conséquent, la boucle externe s'exécute tant que
i <= 4, et la boucle interne itère sur j tant que la valeur de j est inférieure ou égale à
4
.
4.
a.
La plage d'exécution de la boucle externe est
0
,
1
et
2
; par conséquent, la boucle externe s'exécute trois fois.
5.
b.
La boucle interne est évaluée quatre fois (
j = 0,
1
,
2
et
3
) pour chaque valeur de i définie par la boucle externe. Dans l'exemple donné, i = 0,
1
et
2
; par conséquent, le nombre total d'exécutions de la boucle interne est 3 * 4 = 12.
6.
c.
La sortie affichée présente trois lignes, chaque ligne
i affichant i * valeurs comprises entre
0
et
3
. Par conséquent, le code doit itérer sur l'identifiant de ligne dans la boucle externe, et dans chaque ligne, itérer sur l'identifiant des éléments dans la plage de
0
à
3
.
5.4 Break et continue
1.
c.
Le code affiche tous les caractères précédant la première occurrence d'une espace sur des lignes distinctes. Par conséquent, la sortie est :
H
e
l
l
o
2.
b.
Dès que l'instruction
print
est exécutée, l'instruction
break
provoque l'arrêt de la boucle. De plus, pour i = 15, la condition (i%3 == 0 and i%5 == 0) est remplie, et l'instruction print sera donc exécutée exactement une fois.
3.
b.
La boucle trouve les cinq premiers nombres divisibles par
2
ou
3
. Ces nombres sont
2
,
3
,
4
,
6
et
8
, et donc
8
est la valeur finale de i.
4.
b.
L'instruction print est exécutée pour les nombres compris entre 0 et 10 (inclus) qui sont divisibles par 3. La sortie affichée est :
9
6
3
0
5.
b.
La boucle vérifie si le caractère évalué est une espace ou non. Si c'est le cas, le reste de la boucle sera ignoré et l'espace ne sera pas affichée.
5.5 Else de boucle
1.
b.
La variable
i est initialisée à
16
, et la boucle
while
s'exécute avec i = 16,
8
,
4
et
2
. À chaque itération de la boucle, la valeur de la variable exp est incrémentée de 1. Par conséquent, à la fin de la boucle, exp = 4. Puisque la boucle se termine sans interruption, l'instruction
else
après la boucle est exécutée et affiche 16 is 2 to the 4.
2.
a.
La valeur initiale de
i est
7
. Par conséquent, lors de la première itération de la boucle, l'instruction
else
à l'intérieur de la boucle s'exécute, et l'instruction
break
termine la boucle. Puisque l'exécution de la boucle est interrompue, le
else
après la boucle ne s'exécutera pas et il n'y aura aucune sortie.
3.
b.
La boucle itère sur toutes les valeurs entières de la liste. Si une valeur est inférieure à
5
, la valeur sera affichée, et si la valeur est supérieure à
5
, le code affiche « Not all numbers are less than 5. » et l'exécution du code se termine.