5 - Les Instructions Répétitives

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 7

PROGRAMMATION EN LANGAGE PYTHON LES INSTRUCTIONS RÉPÉTITIVES

Chapitre 5 : Les Instructions répétitives


Sommaire :
1) Introduction........................................................................................................................2
2) La boucle while..................................................................................................................2
3) La boucle for......................................................................................................................2
4) La fonction range...............................................................................................................3
5) Comment choisir entre boucle for et boucle while............................................................4
6) Transformation d’une boucle for en un boucle while........................................................4
7) Les instructions break et continue, et la clause else dans les boucles...............................4
a) L’instruction break.........................................................................................................4
b) L’instruction continue....................................................................................................5
c) La clause else dans une boucle.......................................................................................6
8) Équivalent de la boucle Répéter … jusqu’à.......................................................................6

ELBASRI OFPPT Page 1 sur 7


PROGRAMMATION EN LANGAGE PYTHON LES INSTRUCTIONS RÉPÉTITIVES

1) Introduction
Une boucle est une instruction qui permet de décrire une répétition dans un programme. Elle
consiste à répéter l’exécution d’un bloc d’instructions, appelés corps de la boucle, un certain
nombre de fois, une exécution du bloc s’appelle itération.
En python, il existe deux formes de boucles : la boucle while et la boucle for.

2) La boucle while
Syntaxe :
while condition:
Bloc_inst
Condition est une expression logique, le bloc d’instruction est exécuté jusqu’à ce que la condition
devienne fausse.
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.
Exemple:
x = 1
while x < 10:
print("x = ", x)
x = x * 2
print("Fin")
Affichage après exécution :
x = 1
x = 2
x = 4
x = 8
Fin

3) La boucle for
En Python, la boucle for fonctionne d’une manière un peu différente des autres langages de
programmation (elle fonctionne comme un itérateur).
Elle peut être utilisée pour parcourir une séquence de liste, chaîne, tuple, ensemble, tableau, ….
En Python, il n'y a pas de syntaxe de type C for (i = 0; i <n; i ++), mais on utilise la syntaxe :
for variable in sequence :

ELBASRI OFPPT Page 2 sur 7


PROGRAMMATION EN LANGAGE PYTHON LES INSTRUCTIONS RÉPÉTITIVES

Bloc_inst

Exemple 1:

for i in [0, 5, 2, 15]:


print("i = ", i)

Affichage après exécution :

i = 0
i = 5
i = 2
i = 15

Exemple 2:

fruits = ["pomme", "banane", " fraise"]


for f in fruits:
print(f)

Affichage après exécution :

pomme
banane
fraise

4) La fonction range
La fonction range() renvoie une séquence de nombres, commençant par 0 par défaut et
incrémentée de 1 (par défaut), et s'arrête avant un nombre spécifié.
Syntaxe :
range(Debut, Fin, Pas)
 Debut (facultatif): Un nombre entier spécifiant à quelle position commencer. La valeur
par défaut est 0.
 Fin (obligatoire) : Un nombre entier spécifiant à quelle position s'arrêter (non inclus).
 Pas (facultatif): Un nombre entier spécifiant l'incrémentation. La valeur par défaut est 1
Il est possible de créer une boucle facilement en utilisant la fonction range :

Exemple 1: Exemple 2 :

for i in range(5): for i in range(1,10,2):

ELBASRI OFPPT Page 3 sur 7


PROGRAMMATION EN LANGAGE PYTHON LES INSTRUCTIONS RÉPÉTITIVES

print (i) print (i)

Affichage après exécution : Affichage après exécution :

0 1
1 3
2 5
3 7
4 9

5) 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.

6) Transformation d’une boucle for en un boucle while


Considérons le programme suivant:
for i in range(1, 10, 2):
print("i =", i)
Ce programme est équivalent à:
i = 1
while i < 10:
print("i =", i)
i = i + 2

7) Les instructions break et continue, et la clause else dans les boucles


a) 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.
Dans le cas de boucles imbriquées, l’instruction break ne fait sortir que de la boucle la plus
interne.
Exemple
for i in range(10):
print("debut iteration", i)
print("bonjour")

ELBASRI OFPPT Page 4 sur 7


PROGRAMMATION EN LANGAGE PYTHON LES INSTRUCTIONS RÉPÉTITIVES

if i == 2:
break
print("fin iteration", i)
print("apres la boucle")
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
b) 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")
Affichage après exécution :
Debut iteration 0
Bonjour
Debut iteration 1
Bonjour
Debut iteration 2
Bonjour
Fin iteration 2
Debut iteration 3

ELBASRI OFPPT Page 5 sur 7


PROGRAMMATION EN LANGAGE PYTHON LES INSTRUCTIONS RÉPÉTITIVES

Bonjour
Fin iteration 3
Apres la boucle
c) 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ée 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 :
for n in range(2, 8):
for x in range(2, n):
if n % x == 0:
print(n, "égale", x, "*", n//x)
break
else:
print(n, "est un nombre premier")
Affichage après exécution :
2 est un nombre premier
3 est un nombre premier
4 égale 2 * 2
5 est un nombre premier
6 égale 2 * 3
7 est un nombre premier

8) Équivalent de la boucle Répéter … jusqu’à


Dans de nombreux langages, il existe une instruction do…while (ou bien do … until ) permettant
de donner l’équivalent de la boucle Répéter … jusqu’à. Cette instruction n’existe pas en Python,
mais on peut facilement reproduire son fonctionnement de la façon suivante :
En algorithmique Jusqu’à (condition)
Répéter
Bloc_inst

ELBASRI OFPPT Page 6 sur 7


PROGRAMMATION EN LANGAGE PYTHON LES INSTRUCTIONS RÉPÉTITIVES

En python Bloc_inst
while True: if condition:
break

ELBASRI OFPPT Page 7 sur 7

Vous aimerez peut-être aussi