Boucle for#
La boucle for permet de répéter un bloc d'instructions un nombre de fois connu
à l'avance. Mais elle permet de faire des choses beaucoup plus intéressantes,
tel que parcourir une chaîne de caractères ou une
liste un élément après l'autre.
for _ in range(nb_repetitions):
instruction 1
instruction 2
...
Programme
for i in range(5):
print(i)
Ordinogramme
Quelles valeurs prend la variable i?
Changez le nombre de répétitions.
Modifiez le code pour afficher les nombres de 1 à 10?
En réalité, la boucle for fait plus que juste répéter x fois: pour
chaque itération (passage de la boucle), la variable (ici nommée i) va prendre
la valeur d'un élément de l'ensemble range(n), c'est-à-dire l'ensemble des
nombres entiers de 0 à n non compris \(\{0; 1; 2; ...; n-1\}\). Il est donc
possible d'utiliser la valeur de cette variable dans la boucle.
Exercice 3#
Cochez la bonne réponse.
Qu'affiche le progamme suivant?
1for i in range(3): 2 print("Hello")
Qu'affiche le progamme suivant?
1for i in range(4): 2 print(i)
Qu'affiche le progamme suivant?
1for i in range(2): 2 print("i")
Qu'affiche le progamme suivant?
1for i in range(5): 2 print(i+1)
Exercice 4#
Écrivez un programme en utilisant la boucle
forqui affiche les nombres de 0 à 9.
# Écrivez le programme ici
Solution
1for nombre in range(10):
2 print(nombre)
Écrivez un programme en utilisant la boucle
forqui affiche les nombres de 1 à 10.
# Écrivez le programme ici
Solution
1for nombre in range(10):
2 print(nombre + 1)
1for nombre in range(1, 11):
2 print(nombre)
Écrivez un programme en utilisant la boucle
forqui affiche les 12 premiers multiples de 5.
# Écrire le programme ici
Solution
1for nombre in range(12):
2 print((nombre + 1) * 5)
1for nombre in range(1, 13):
2 print(nombre * 5)
Exercice 5#
Que va afficher ce programme?
1somme = 0
2for nombre in range(6):
3 somme += nombre
4print("La somme est", somme)
Solution
somme = 0
for nombre in range(6):
somme += nombre
print("La somme est", somme)
Exercice 6#
Écrivez un programme qui affiche le produit de tous les nombres de 1 à 10.
Solution
produit = 1
for nombre in range(1, 11):
produit *= nombre
print("Le produit de tous les nombres de 1 à 10 est", produit)
Exercice 7#
Indiquez l'ordre d'exécution des lignes et ce qu'affichera le programme.
1a = 4
2b = 1
3for i in range (3):
4 a += 5
5 b *= 2
6 print("i =", i)
7print("a =", a, "b =", b)
Solution
L'ordre d'exécution des ligne est le suivant:
1-2-3-4-5-6-3-4-5-6-3-4-5-6-7
1a = 4
2b = 1
3for i in range(3):
4 a += 5
5 b *= 2
6 print("i =", i)
7print("a =", a, "b =", b)
Exercice 8#
Il est toujours possible de convertir une boucle for en boucle while, par
contre il n'est pas toujours possible de convertir une boucle while en boucle
for, notamment si on ne sait pas à l'avance le nombre d'itérations.
Quel(s) code(s) correspond(ent) à la boucle
forci-dessous?1for i in range(5): 2 print(i)
Quel(s) code(s) correspond(ent) à la boucle
forci-dessous?1for i in range(4): 2 print(i + 1)
Quel(s) code(s) correspond(ent) à la boucle
whileci-dessous?1x = 4 2while x < 7: 3 print(x) 4 x += 1
Quel(s) code(s) correspond(ent) à la boucle
whileci-dessous?1x = 2 2while x <= 5: 3 print(x) 4 x += 1
Cochez les boucles
whilequi ne peuvent pas être transformées en bouclefor.