Boucle for#
Répétition d'un bloc d'instructions#
La boucle for
permet de répéter un bloc d'instructions un nombre de fois connu
à l'avance.
for _ in range(nb_repetitions):
instruction 1
instruction 2
...
Exemple 6#
Programme | Ordinogramme |
---|---|
print("Voici ma punition:")
for _ in range(10):
print("Je dois faire mes devoirs.")
print("J'ai fini.")
print("Voici ma punition:") for _ in range(10): print("Je dois faire mes devoirs.") print("J'ai fini.") |
![]() |
Exercice 39#
Sans les exécuter, qu'afficheront les programmes suivants?
Ensuite, testez vos réponses en les exécutant.
print("Lancer d'une pièce.") for _ in range(5): print("Pile") print("Fin du jeu")
print("Lancer d'une pièce.") for _ in range(3): print("Pile") print("Face") print("Fin du jeu")
print("Lancer d'une pièce.") for _ in range(2): print("Pile") print("Face") print("Pile") print("Fin du jeu")
print("Lancer d'une pièce.") for _ in range(2): print("Pile") print("Face") print("Pile") print("Fin du jeu")
Exercice 40#
Que fait le programme suivant?
for _ in range(6):
print("Salut")
Modifiez-le pour qu'il affiche 9 fois "Salut".
Modifiez-le pour qu'il affiche:
Salut Comment ça va? Salut Comment ça va? Salut Comment ça va?
Modifiez-le pour qu'à la fin du programme, il affiche "Au revoir!".
Solution
for _ in range(3):
print("Salut")
print("Comment ça va?")
print("Au revoir!")
Utilisation de la variable de la boucle for#
La boucle for
fait plus que juste répéter x fois un bloc d'instructions: pour
chaque itération (passage dans la boucle), la variable (dans l'exemple ci-dessous
nommée i
) va prendre la valeur de l'ensemble range(n)
, c'est-à-dire
l'ensemble des nombres entiers de
Important
Dans for _ in range(nb_repetitions):
, le _
représente une variable que nous
pouvons appeler comme nous le souhaitons (en respectant les règles de nommage
des variables.)
Toutes ces notations sont correctes: for _ in range(3):
,
for nombre in range(3):
, for i in range(3):
.
for _ in range(3):
est utilisée seulement lorsque nous n'utilisons pas la
valeur de la variable dans la boucle.
Exemple 7#
Le programme suivant affiche les nombres de 0 à 9.
for i in range(10):
print(i)
Exercice 41#
Écrivez un programme qui affiche les nombres entiers de 0 jusqu'à 17 et affiche à la fin "J'ai fini de compter!".
# Écrivez le programme ici
Solution
for nombre in range(18):
print(nombre)
print("J'ai fini de compter!")
Exercice 42#
Modifiez le programme de l'exemple pour qu'il affiche les nombres entiers de 1 à 10.
for i in range(10):
print(i)
Solution
for i in range(10):
print(i + 1)
Python permet aussi de déterminer la valeur de départ et la valeur de fin (pas comprise), en utilisant le construction suivante:
for i in range(1, 11):
print(i)
Exercice 43#
Écrivez un programme qui calcule et affiche la somme des dix premiers nombres entiers plus grands que 0.
# Écrivez le programme ici
Solution
Il y a plusieurs manières de faire.
Comme ajouter 0 à une somme ne change rien, je peux effectuer le calcul suivant:
somme = 0 for i in range(11): somme += i print(somme)
Les deux programmes suivants font exactement ce qu'il faut:
somme = 0 for i in range(10): somme += i + 1 print(somme)
somme = 0 for i in range(1, 11): somme += i print(somme)
Exercice 44#
Écrivez un programme qui calcule et affiche le produit des cinq premiers nombres entiers plus grands que 0.
# Écrivez le programme ici
Solution
produit = 1
for i in range(5):
produit *= i + 1
print(produit)
produit = 1
for i in range(1, 6):
produit *= i
print(produit)
Exercice 45#
Écrivez un programme qui demande à l'utilisateur un nombre entier positif et affiche les 10 premiers multiples de ce nombre.
# Écrivez le programme ici
Solution
nombre = int(input("Choisissez un nombre: "))
for i in range(10):
print(nombre * (i + 1))
nombre = int(input("Choisissez un nombre: "))
for i in range(1, 11):
print(nombre * i)
Exercice 46#
Écrivez un programme qui affiche les nombres paires jusqu'à 20.
# Écrivez le programme ici
Solution
for i in range(20):
if (i + 1) % 2 == 0:
print(i + 1)
for i in range(1, 21):
if i % 2 == 0:
print(i)
Exercice 47#
Écrivez un programme qui affiche le résultat des calculs suivants:
# Écrivez le programme ici
# Écrivez le programme iciSolution
somme = 0 for i in range(100): somme += i + 1 print(somme)
somme = 0 for i in range(1, 101): somme += i print(somme)
# Écrivez le programme ici
# Écrivez le programme iciSolution
somme = 0 for i in range(100): if (i + 1) % 2 == 1: somme += i + 1 print(somme)
somme = 0 for i in range(1, 101): if i % 2 == 1: somme += i print(somme)
Exercice 48#
Bob souhaite construire une pyramide à base carrée comme sur la photo.

Écrivez un programme qui permet de calculer le nombre de billes nécessaires pour construire la pyramide de l'image (elle a 7 étages). Utilisez une boucle
for
.# Écrivez le programme ici
# Écrivez le programme iciSolution
nb_billes = 0 for i in range(7): nb_billes += (i + 1) ** 2 print(nb_billes)
nb_billes = 0 for etage in range(1, 8): nb_billes += etage ** 2 print(nb_billes)
Modifiez le programme précédent pour calculer le nombre de billes nécessaires pour construire une pyramide à 100 étages.
# Écrivez le programme ici
# Écrivez le programme iciSolution
nb_billes = 0 for i in range(100): nb_billes += (i + 1) ** 2 print(nb_billes)
nb_billes = 0 for etage in range(1, 101): nb_billes += etage ** 2 print(nb_billes)
Modifiez le programme pour que l'utilisateur puisse choisir le nombre d'étages.
# Écrivez le programme ici
# Écrivez le programme iciSolution
nb_etages = int(input("Choisissez le nombre d'étages: ")) nb_billes = 0 for i in range(nb_etages): nb_billes += (i + 1) ** 2 print(nb_billes)
nb_etages = int(input("Choisissez le nombre d'étages: ")) nb_billes = 0 for etage in range(1, nb_etages + 1): nb_billes += etage ** 2 print(nb_billes)
Exercice 49#
Le 1er janvier, les parents de Chrystel ont déposé sur son livret d'épargne 1500 CHF au taux de 2 %.
Écrivez un programme pour calculer le montant qu'elle aura après 1 an.
# Écrivez le programme ici
# Écrivez le programme iciSolution
montant = 1500 montant += 2 / 100 * montant print(montant)
montant = 1500 montant = 102 / 100 * montant print(montant)
Modifiez le programme précédent pour calculer le montant qu'elle aura dans 10 ans. Utilisez une boucle
for
.# Écrivez le programme ici
# Écrivez le programme iciSolution
montant = 1500 for _ in range(10): montant += 2 / 100 * montant print(montant)
montant = 1500 for _ in range(10): montant = 102 / 100 * montant print(montant)
Modifiez le programme pour que l'utilisateur puisse choisir la durée (le nombre d'années) et la montant initial.
# Écrivez le programme ici
# Écrivez le programme iciSolution
montant = float(input("Montant déposé: ")) duree = int(input("Durée du placement: ")) for _ in range(duree): montant += 2 / 100 * montant print(montant)
montant = float(input("Montant déposé: ")) duree = int(input("Durée du placement: ")) for _ in range(duree): montant = 102 / 100 * montant print(montant)
Modifiez le programme pour que l'utilisateur puisse aussi choisir le taux d'intérêt (en %).
# Écrivez le programme ici
# Écrivez le programme iciSolution
montant = float(input("Montant déposé: ")) duree = int(input("Durée du placement: ")) taux = float(input("Taux d'intérêt en %: ")) for _ in range(duree): montant += taux / 100 * montant print(montant)
montant = float(input("Montant déposé: ")) duree = int(input("Durée du placement: ")) taux = float(input("Taux d'intérêt en %: ")) for _ in range(duree): montant = (taux + 100) / 100 * montant print(montant)