Вы находитесь на странице: 1из 6

https://www.courspython.

com
Les boucles s’utilisent pour répéter plusieurs fois l’éxecution d’une partie du programme.

Boucle for
Exemple d’utilisation :

for i in range(4):
print("i a pour valeur", i)

Exécuter
Affichage après exécution :

i a pour valeur 0
i a pour valeur 1
i a pour valeur 2
i a pour valeur 3

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.
Pour parcourir les indices d’une liste, il est possible de combiner range() et len() comme ci-
dessous :

c = ["Marc", "est", "dans", "le", "jardin"]


for i in range(len(c)):
print("i vaut", i, "et c[i] vaut", c[i])

Exécuter
Affichage après exécution :

i vaut 0 et c[i] vaut Marc


i vaut 1 et c[i] vaut est
i vaut 2 et c[i] vaut dans
i vaut 3 et c[i] vaut le
i vaut 4 et c[i] vaut jardin

Rappel : La fonction len() renvoie le nombre d’éléments :

>>> c = ["Marc", "est", "dans", "le", "jardin"]


>>> len(c)
5
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 :

c = ["Marc", "est", "dans", "le", "jardin"]


for i in c:
print("i vaut", i)
>>>
i vaut Marc
i vaut est
i vaut dans
i vaut le
i vaut jardin

Boucle while

Syntaxe :

while condition:
Instruction A

Exemple de programme :

x = 1
while x < 10:
print("x a pour valeur", x)
x = x * 2
print("Fin")

Exécuter
Affichage après exécution :

x a pour valeur 1
x a pour valeur 2
x a pour valeur 4
x a pour valeur 8
Fin

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.
Note
Il est toujours possible de remplacer une boucle for par une boucle while.

Transformation d’une boucle for en un boucle while


for i in range(4):
print("i a pour valeur", i)

Le programme ci-dessus est équivalent à:

i = 0
while i < 4:
print("i a pour valeur", i)
i = i + 1

Voir aussi
https://python.developpez.com/cours/apprendre-python3/?page=page_6#L6-B

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

for i in range(10):
print("debut iteration", i)
print("bonjour")
if i == 2:
break
print("fin iteration", i)
print("apres la boucle")

Exécuter
Affichage après exécution :

debut iteration 0
bonjour
fin iteration 0
debut iteration 1
bonjour
fin iteration 1
debut iteration 2
bonjour
apres la boucle

Note
Dans le cas de boucles imbriquées, l’instruction break ne fait sortir que de la boucle la plus interne.

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 :

while True:
n = int(input("donnez un entier > 0 : "))
print("vous avez fourni", n)
if n > 0:
break
print("reponse correcte")

Exécuter

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
for i in range(4):
print("debut iteration", i)
print("bonjour")
if i < 2:
continue
print("fin iteration", i)
print("apres la boucle")

Exécuter
Affichage après exécution :

debut iteration 0
bonjour
debut iteration 1
bonjour
debut iteration 2
bonjour
fin iteration 2
debut iteration 3
bonjour
fin iteration 3
apres la boucle

La clause else dans une boucle


Les instructions de boucle ont une clause else. Elle est exécutée 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 une instruction break. Ceci est illustré dans la boucle suivante, qui
recherche des nombres premiers :

for n in range(2, 8):


for x in range(2, n):
if n % x == 0:
print(n, "egale", x, "*", n/x)
break
else:
print(n, "est un nombre premier")

Exécuter
Affichage après exécution :
2 est un nombre premier
3 est un nombre premier
4 egale 2 * 2.0
5 est un nombre premier
6 egale 2 * 3.0
7 est un nombre premier

Вам также может понравиться