boucles
Boucles bornées en Python
Definition
Une boucle bornée est un système d’instructions qui permet de répéter un certain nombre de fois toute une série d’opérations.
La syntaxe d’une boucle bornée, en langage algorithmique peut s’écrire:
En python, la syntaxe correspondante est:
On peut représenter ce script avec des modules à assembler type scratch ou blocky):
analogie avec des briques de construction du programme
Remarque
Construction de la boucle bornée
- Le bloc d’instruction sera executé n fois. Celui-ci peut contenir une ou plusieurs instructions, du moment qu’elles sont bien positionnées dans le bloc.
- En Python, le bloc est identifié par une indentation: un retrait par rapport au bord gauche, comprenant 2 espaces (ou 4).
- Pour sortir du bloc, on élimine l’indentation (on revient sur le bord gauche)
bloc de retour à la fin de la boucle
- La fonction
range(n)renvoie la liste des entiers de 0 à n-1. C’est un principe général en informatique, on commence toujours à compter à partir de 0, et il faut donc s’arrêter à n-1 pour effectuer n fois la boucle. - Pour chaque itération, le variant
iprend une nouvelle valeur de l’ensemble{0,1,2,... n-1}, et peut être utilisé dans le bloc d’instructions. - On peut choisir n’importe quel nom pour le variant, pas seulement
i. - Contrairement à la boucle non bornée
while, le programmeur ne s’occupe pas de faire varier i à chaque itération. Cela ce fait tout seul.
Boucle bornée et séquence
L’instruction utilisant le mot-clé for suit la construction suivante:
Ce que l’on appelle iterable, c’est un ensemble de valeurs que prend successivement le variant.
iterable = range(5)
Dans ce premier cas, le variant prend successivement le valeurs de l’ensemble {0,1,2,3,4}. Le variant vaut 0 lors le premiere itération, puis 1 à la deuxieme, etc …
A tester vous-même (python): Exemple 1: utiliser la fonction
range
iterable = "abc"
Dans ce deuxieme cas, le variant i prend successivement le valeurs de l’ensemble {"a","b","c"}. Le variant vaut “a” lors le premiere itération, puis “b” à la deuxieme, etc …
A tester vous-même (python): Exemple 2: utiliser une séquence de type str
iterable = [1998,2018]
Les listes en python sont des sequences qui placent les valeurs entre crochets [...]. Les valeurs sont séparées par des virgules ,
A tester vous-même (python): Exemple 3: utiliser une séquence de type list
le variant annee prend successivement le valeurs de l’ensemble {1998,2018}
On peut placer autant de valeurs que l’on souhaite dans une liste.
Boucle bornée et non bornée
Pour la boucle bornée for, il n’est pas necessaire d’ajouter une instruction dans le bloc pour que le variant change de valeur à chaque itération. Cela se fait tout seul, à chaque fois que le programme revient sur l’instruction for.
modification du variant i à chaque itération
Exemples
- Exemple 1: afficher le variant de boucle
i
Remarque: la fonction range(3) va créer une liste itérable constituée des valeurs 0, 1, 2. Ce sont les valeurs prises successivement par le variant i dans for i in range(3)
Remarque: Avec une boucle non bornée, il faut:
-
déclarer la valeur initiale du variant:
i = 0 -
écrire la condition d’execution après le
while,i<3 -
faire varier le variant dans la boucle
while,i = i+1 -
Exemple 2: Ce variant peut être utilisé pour une formule arithmétique, à l’intérieur de la boucle: