Aller au contenu

La boucle for⚓︎

La boucle for permet de répéter l'exécution d'un bloc d'instructions. Pour cela Python utilise une variable qui va prendre tour à tour chaque valeur d'un intervalle de nombres entiers ou chaque lettre d'une chaîne de caractères avant d'exécuter le bloc d'instructions. En ce sens, la boucle for de Python peut être vue comme une bouche « for each » (pour chaque valeur de).

Parcours d'une chaîne de caractères⚓︎

L'écriture d'une boucle for commence toujours par le mot clé for suivi du nom de la variable qui vient prendre ses valeurs dans l'objet (l'intervalle de nombres entiers ou la chaîne de caractères) que l'on indique après le mot clé in.

Voici un exemple de boucle for parcourant une chaîne de caractères.

🐍 Script Python
for lettre in "ABCD":
    print("Il y a le caractère", lettre)
📤 Sortie
Il y a le caractère A
Il y a le caractère B
Il y a le caractère C
Il y a le caractère D

Lors de l'exécution de ce programme, la variable lettre va se voir affecter les caractères "A" puis "B" puis "C" puis enfin "D" avant chaque exécution de l'instruction print("il y a le caractère", lettre). C'est comme si on avait écrit en 2 lignes le programme suivant qui tient sur 8 lignes :

🐍 Script Python
lettre = "A"
print("Il y a le caractère", lettre)
lettre = "B"
print("Il y a le caractère", lettre)
lettre = "C"
print("Il y a le caractère", lettre)
lettre = "D"
print("Il y a le caractère", lettre)

Parcours d'un intervalle de nombres entiers⚓︎

Pour créer un intervalle de nombres entiers on utilise la fonction range(debut,fin) en indiquant une valeur de fin qui sera exclue de l'intervalle (on s'arrêtera à la valeur qui précède la fin). Ainsi pour générer l'intervalle des nombres 1, 2, 3, 4, 5 on utilisera range(1,6) en débutant à 1 et en terminant à 5 (la valeur avant 6).

L'exemple suivant illustre le parcours de cet intervalle en affichant chaque nombre sur une ligne séparée.

🐍 Script Python
for entier in range(1,6):
    print("Le nombre", entier)

Remarque⚓︎

Lorsque l'intervalle débute à zéro, il n'est pas nécessaire d'écrire la valeur debut. Par exemple pour obtenir l'intervalle des nombres entiers de 0 à 9 inclus on utilise range(10) à la place de range(0,10).

L'exemple suivant affiche les 10 premiers nombres impairs positifs en se servant de la variable de boucle dans le calcul.

🐍 Script Python
for n in range(10):
    print(2*n+1, "est impair")
📤 Sortie
1 est impair
3 est impair
5 est impair
7 est impair
9 est impair
11 est impair
13 est impair
15 est impair
17 est impair
19 est impair

Entraînement⚓︎

Entraînez-vous sur la boucle for en vous rendant sur le site Pyvert.