ÉMILIE DE RODAT
TECHNOLOGIE
Chapitre 2 : Python, « Structures Itératives », boucles bornées « for »

1. Boucle bornée
Dans un programme, on a souvent besoin de répéter plusieurs fois la même instruction (ou séquence d'instructions). On suppose dans ce chapitre que l'on sait à l'avance combien de fois on va devoir répéter la séquence d'instructions. La boucle for (ou boucle bornée) permet de répondre à ce besoin. Le programme ci-dessous est un exemple simple d'utilisation de la boucle « for ».
for i in range(5):
print("Bonjour")
On répète ici 5 fois l'instruction print("Bonjour"). Le bloc d'instructions à répéter doit être indenté, c'est-à-dire décalé de
quelques espaces vers la droite ou d’une tabulation. La variable i , de type integer, est l’itérateur de boucle (ou variable de boucle ou compteur de boucle). On peut lui donner le nom que l'on veut (i, j, compteur, nombre, ...).
Remarque : Si l’itérateur n’est pas utilisé dans la boucle on peut le remplacer par ‘_’ tiré du 8, ou ‘underscore’(en anglais). Exemple :
for _ in range (3):
print('Je répète 3 fois')
Important : on utilise une boucle « for » seulement si on connaît le nombre de tours que doit effectuer la boucle.
2. Range et utilisation de l’itérateur
Pour utiliser une boucle « for » en Python on utilisera aussi la fonction « in range ». Cette fonction donne les valeurs que parcourra l’itérateur (i). Il y a 3 manières d’utiliser la fonction « in range »:
• in range (7)les valeurs parcourues sont {0, 1, 2, 3, 4, 5, 6}, 7 est la borne d’arrivée et est exclue, la borne de départ est implicite, c’est 0.
• in range (1,6)permet de définir la borne de départ, les valeurs parcourues sont {1, 2, 3, 4, 5}.
• in range (1,9,2)permet de définir en plus le « pas » (step en anglais), c’est-à-dire l’écart entre deux valeurs. Ici, le pas est 2, la borne de départ est 1, la borne d’arrivée (exclue) est 9. Les valeurs parcourues sont donc {1, 3, 5, 7}
On ne parle pas de borne minimale et maximale car les valeurs peuvent être parcourues de manière décroissante, si on définie un pas négatif. Attention, le pas (step) doit être un entier (integer).
Cet variable itérateur peut être utilisée dans le bloc d’instruction à répéter. Le programme suivant afficher les nombres entiers de 0 à 9 ainsi que la valeur de l’itérateur en sortie de boucle : 9.
for i in range(10):
print(i)
print(i)
3. Notion d’accumulateur
Le compteur de boucle permet de mettre en place un accumulateur, c'est-à-dire une variable qui est utilisée pour stocker les différents résultats successifs d'un calcul qui évolue progressivement à chaque tour de boucle. La variable qui sert d'accumulateur doit être initialisée avant la boucle.
Exemple : calcul de la somme des entiers de 1 à 100
somme = 0
for i in range(1, 101):
somme = somme + i
print(somme)
La variable somme sert d’accumulateur, à chaque tour de boucle on ajoute à sa valeur courante la valeur courante de l’itérateur. On affiche donc la somme des entiers de 1 à 100.
Résume du chapitre 2:
Boucle "for"
for i in range(2,12,3):
print(i)
i c'est l'itérateur, par définition de type 'integer'
2 c'est la borne de départ (0 par défault, incluse dans la boucle)
12 c'est la borne d'arrivée (excluse de la boucle)
3 c'est le pas ('step'en anglais,+1 par défault, positif ou négatif)
Les trois valeurs de la fonction 'in range' sont par définition de type 'integer'
variable = 0
for i in range(1,5) :
variable = variable * 10 + i
print(variable)
La variable "variable" sert d’accumulateur, à chaque tour de boucle on multiplie par 10 et on ajoute à sa valeur courante la valeur courante de l’itérateur. On affiche donc la valeur 1234.