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.
for lettre in "ABCD":
print("Il y a le caractère", lettre)
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 :
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.
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.
for n in range(10):
print(2*n+1, "est impair")
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.