1RE
Numérique et Langage et programma :
Sciences Les Bases de Python
informatiques
1- Boucles
Les boucles s’utilisent pour répéter plusieurs fois l’exécution d’une partie du
programme.
1.1 Boucles bornées et non bornées
1.1.1 Boucle bornée
Quand on sait combien de fois doit avoir lieu la répétition, on utilise généralement une
boucle for.
1.1.2Boucle non bornée
Si on ne connait pas à l’avance le nombre de répétitions, on choisit une boucle while.
Boucle for
Exemple d’utilisation :
Voici un exemple pour montrer la syntaxe :
L’instruction for est une instruction composée, c’est-à-dire une instruction dont l’en-tête se
termine par deux-points :, suivie d’un bloc indenté qui constitue le corps de la boucle.
On dit que l’on réalise une itération de la boucle à chaque fois que le corps de la boucle est
exécuté.
Dans l’en-tête de la boucle, on précise après le mot-clé for le nom d’une variable (i dans
l’exemple ci-dessus) qui prendra successivement toutes les valeurs qui sont données après le
mot-clé in. On dit souvent que cette variable (ici i) est un compteur car elle sert à numéroter
les itérations de la boucle.
Il est possible d’obtenir le même résultat sans donner la liste des valeurs, mais en utilisant la
fonction range().
1RE Prof : Bôa Djavph YOGANGUINA 2024-2025
Pour parcourir les indices d’une liste, il est possible de combiner range() et len() comme ci-
dessous :
Rappel : La fonction len() renvoie le nombre d’éléments :
Dans l’exemple suivant, nous allons illustrer que la variable indiquée après for parcourt toutes
les valeurs de la liste donnée après in :
Boucle while
Syntaxe :
Exemple de programme :
1RE Prof : Bôa Djavph YOGANGUINA 2024-2025
Le mot-clé while signifie tant que en anglais. Le corps de la boucle (c’est-à-dire le bloc
d’instructions indentées) sera répété tant que la condition est vraie.
Dans l’exemple ci-dessus, x sera multiplié par 2 tant que sa valeur reste inférieure à 10.
Remarque : Si la condition est fausse au départ, le corps de la boucle n’est jamais exécuté. Si
la condition reste toujours vraie, alors le corps de la boucle est répété indéfiniment.
Comment choisir entre boucle for et boucle while#
En général, si on connaît avant de démarrer la boucle le nombre d’itérations à exécuter, on
choisit une boucle for. Au contraire, si la décision d’arrêter la boucle ne peut se faire que par un
test, on choisit une boucle while.
Transformation d’une boucle for en un boucle while
Le programme ci-dessus est équivalent à:
1RE Prof : Bôa Djavph YOGANGUINA 2024-2025
Les instructions break et continue, et la clause else dans les boucles
L’instruction break
L’instruction break permet de « casser » l’exécution d’une boucle (while ou for). Elle fait sortir
de la boucle et passer à l’instruction suivante.
Exemple
Remarque : équivalent du do…while (faire…tant que)
Dans de nombreux langages, il existe une instruction do…while qui permet de créer une boucle
pour laquelle on ne connaît pas à l’avance le nombre de répétition, mais qui doit s’exécuter au
moins une fois. Cette instruction n’existe pas en Python, mais on peut facilement reproduire
son fonctionnement de la façon suivante :
L’instruction continue
L’instruction continue permet de passer prématurément au tour de boucle suivant. Elle fait
continuer sur la prochaine itération de la boucle.
Exemple
1RE Prof : Bôa Djavph YOGANGUINA 2024-2025
La clause else dans une boucle#
La clause else dans une boucle permet de définir un bloc d’instructions qui sera exécuté
à la fin seulement si la boucle s’est déroulé complétement sans être interrompue par un break.
Contrairement aux instructions présentes après la boucle, qui s’exécutent dans tous les
cas (avec ou sans interruption par un break), le bloc d’instructions défini dans la clause else ne
s’exécutera pas lors de l’interruption par un break. Après l’interruption, on passera directement
aux instructions après la boucle.
Autrement dit, le bloc de la clause else est exécuté lorsque la boucle se termine par
épuisement de la liste (avec for) ou quand la condition devient fausse (avec while), mais pas
quand la boucle est interrompue par un break. Ceci est illustré dans la boucle suivante, qui
recherche des nombres premiers :
1RE Prof : Bôa Djavph YOGANGUINA 2024-2025