Vous êtes sur la page 1sur 7

INGENIEUR Agro-Industrie, GÉOLOGIE &

Environnement (IAGE)

Chapitre 5 : Instructions itératives


Prérequis :
 Interpréteur Python Installé et fonctionnel ;
 Connaissance sur la notion de variable ;
 Utilisation des fonctions en Python ;
 Connaissance des types de bases Built-in ;
 Connaissance du type List ;
 Manipulation du type List ;

Objectifs : A la fin de cette leçon chaque étudiant en classe de 1 ère Année Agro doit
être capable de :

 Utilisation de la boucle for avec une performance de 100% ;


 Utilisation de la boucle while avec une performance de 100% ;
 Résolution des problèmes algorithmiques nécessitant l’utilisation de la répétition
avec une performance de 100% ;
 Faire la différence entre for et while avec une performance de 100% ;
 Parcourir un objet de type List via une boucle for avec une performance de 100% ;
 Parcourir un objet de type List via une boucle while avec une performance de
100% ;
 Afficher les éléments d’un objet de type List via une boucle while avec une
performance de 100% ;
 Afficher les éléments d’un objet de type List via une boucle for avec une
performance de 100% ;
 Afficher les éléments d’une chaine de caractère via une boucle for avec une
performance de 100% ;
 Afficher les éléments d’une chaine de caractère via une boucle while avec une
performance de 100% ;
 Utilisation de la fonction zip avec une performance de 100% ;
 Utilisation de la fonction filter avec une performance de 100% ;
 Utilisation de la fonction map avec une performance de 100% ;

Introduction

Dans les chapitres précédents, nous avons vu comment écrire des programmes Python
en utilisant des choix (if), et les fonctions. Dans ce nouveau chapitre, nous allons
présenter comment effectuer les répétitions en Python. Les répétitions, sont une notion
omniprésente dans les activités quotidiennes de l’homme (marcher, courir, manger,
mâcher, etc.). C’est donc une notion nécessaire de maîtriser afin d’être capable d’écrire
des programmes capables de répéter une ou plusieurs instructions.
INGENIEUR Agro-Industrie, GÉOLOGIE &
Environnement (IAGE)

I. Rappels algorithmiques
En algorithmique, pour réaliser des répétions ou boucles, on utilise principalement
trois structures de répétition :

 La structure Pour…finpour ;
 La structure Tantque … Fintantque ;
 La structure Répéter … Finrépéter.

1. La structure Pour
La structure algorithmique Pour est utilisée pour répéter une ou plusieurs instructions.
Sa syntaxe est la suivante :
Pour iter allant de valeur_min à valeur_max [pas de valeur_pas] Faire
Instruction i

Instruction i+k
Finpour

Dans cette écriture, les mots clés sont soulignés et les valeurs ou variables sont en
gras. L’expression iter représente une variable entière déclarée au préalable dans
l’entête de l’algorithme, de la fonction ou de la procédure. Elle est utilisée pour
déterminer l’itération en cours. L’expression valeur_min représente la valeur entière
de début de la variable iter, pour la première itération. L’expression valeur_max
représente la valeur maximale que prendra la variable iter pendant la répétition.
L’expression valeur_pas représente la valeur du pas (différence entre les valeurs de la
variable iter entre deux itérations). Lorsque la valeur du pas vaut 1 (valeur par défaut
du pas), le pas peut être omis. Voyons un peu comment utiliser cette structure au
travers des deux exemples suivants :

Exemple 1 :
Pour i allant de 1 à 10 Faire
Ecrire (‘Bonjour le monde’) ;
Finpour

Dans cet exemple, l’expression « Bonjour le monde », sera affichée 10 fois. La


variable i prend 1 comme première valeur. A chaque fois que l’instruction
(respectivement les instructions lorsqu’il y’en plusieurs) contenue dans la boucle est
exécutée, la variable i est incrémentée automatiquement de 1 (c’est-à-dire augmenté de
1), puisque le pas vaut 1 (valeur par défaut du pas lorsqu’elle est omise). La boucle
s’arrête lorsque la valeur de la variable i a dépassé la valeur maximale (10).

Exemple 2 :
Pour i  0 à 20 Pas de 2 Faire
Ecrire (i, ‘est paire’) ;
INGENIEUR Agro-Industrie, GÉOLOGIE &
Environnement (IAGE)

Finpour

Cet exemple permet d’afficher les nombres pairs compris entre 0 et 20 (0 et 20 inclus).
Les valeurs de la variable i varient de 0 à 20. A chaque fois que l’instruction
(respectivement les instructions lorsqu’il y’en plusieurs) contenue dans la boucle est
exécutée, la variable i est incrémenté automatiquement de 2 (c’est-à-dire augmenté de
2), puisque le pas vaut 2 (définition explicite au sein de la boucle). La boucle s’arrête
lorsque la valeur de la variable i a dépassé la valeur maximale (20).

Remarque : La structure de répétition Pour est utilisée, lorsque le nombre d’itération


maximale est connu d’avance.

2. La structure Tantque
Comme la structure Pour, la structure algorithmique Tantque est utilisée pour répéter
une ou plusieurs instructions. A la différence de la structure Pour où le nombre de
répétition est connu à l’avance, la structure Tantque s’exécute tant qu’une (ou un
ensemble de) condition(s) reste vérifiée. Sa syntaxe est la suivante :
Tantque (condition) Faire
Instruction i

Instruction i + k
Fintantque

Dans cette écriture, les mots clés de la structure sont soulignés. L’instruction Tantque
dépends de la condition d’arrêt ou de contrôle (condition). La condition d’arrêt ou de
contrôle (condition) s’applique sur une ou plusieurs variables, elle permet de contrôler
l’évolution des répétitions. Ces variables doivent dont être initialisées avant le début
de la structure par la ou les valeurs par défaut. A la différence de la boucle Pour où
l’incrémentation de la variable permettant de compter les itérations est effectuée
automatiquement de façon implicite, au niveau de la boucle Tantque, l’incrémentation
de ladite (desdites) variable(s) est explicite. La structure Tantque est propice pour la
répétition d’un ensemble d’instructions lorsque le nombre maximal de répétition n’est
pas connu à l’avance. Du fait que le test de la condition d’arrêt est réalisé au début de
la structure, celle-ci peut ne pas s’exécuter. Voyons un peu tout cela au travers de
quelques exemples :
Exemple 1
i  1 ;
Tantque (i <10) Faire
Ecrire (‘Bonjour le monde’) ;
i  i + 1 ;
Fintantque
INGENIEUR Agro-Industrie, GÉOLOGIE &
Environnement (IAGE)

Cet exemple, permet d’afficher 10 fois l’expression « Bonjour le monde ». La variable


i est utilisée pour compter le nombre d’itération, elle est donc initialisée avant la
structure Tantque avec la valeur 1 (cette valeur représente la valeur initiale ou
minimale comme c’était le cas avec la structure Pour). La condition de contrôle
(i<10) permet de déterminer quand la boucle doit s’arrêter. L’instruction i  i + 1
permet de faire avancer la structure itérative 1, en faisant évoluer la structure à
l’itération suivante.
Exemple 2
i  0 ;
Tantque (i <= 20) Faire
Ecrire (i, ‘est paire’) ;
i  i +2 ;
Fintantque

Cet exemple permet d’afficher les nombres pairs compris entre 0 et 20 (0 et 20 inclus),
en utilisant la structure Tantque. La variable i est utilisée pour compter le nombre
d’itération, elle est donc initialisée avant la structure Tantque avec la valeur 0. La
condition de contrôle (i<= 20) permet de déterminer quand la boucle doit s’arrêter.
L’instruction i  i + 2 permet de faire avancer la structure itérative, en faisant
évoluer la structure à l’itération suivante.

3. La structure Répéter
La structure algorithmique Répéter est utiliser pour répéter une ou plusieurs
instructions tant qu’une condition reste vérifiée. Son fonctionnement est presque
similaire à celui de la boucle Tantque. Sa syntaxe générale est la suivante :
Répéter
Instruction i

Instruction i + k
Jusqu’à (condition)

Avec la condition d’arrêt (condition) testée à la fin de l’exécution du bloc d’instruction


de la structure Répéter, celle-ci s’exécute toujours au moins une fois.

II. La répétition en Python


Python offre principalement, deux instructions pour effectuer des répétitions :

 For (équivalent de la structure Pour utilisée en algorithmique)


 While (équivalent de la structure Tantque utilisé en algorithmique)

1
Généralement, cette instruction est la dernière des instructions du bloc Tantque.
INGENIEUR Agro-Industrie, GÉOLOGIE &
Environnement (IAGE)

1. For
En Python, l’instruction For permettant de faire une répétition d’un bloc d’instruction
en parcourant une séquence. Dans ce chapitre nous nous limiterons à une seule
séquence : la liste, les autres types de séquence seront présentés au chapitre suivant.
Pour parcourir une liste en utilisant la boucle for, on peut soit utiliser une liste déjà
existante, soit en créer une au travers de la fonction range.

a. For utilisant une liste existante


En Python, la syntaxe pour parcourir les éléments d’une liste en utilisant le for est la
suivante :
for var in liste :
Instruction i

Instruction i + k
Dans cette écriture var est une variable, et liste une liste d’éléments quelconques.
Voyons un peu comment l’utiliser au travers de quelques exemples.

Exemple : On souhaite afficher les éléments de la liste suivante [10, 30, 50, [10], 45],
en utilisant la boucle for. Le code suivant présente une solution possible :
>>>for var in [10, 30, 50, [10], 45]:
print(var)
On obtient le résultat suivant à l’exécution
10
30
50
[10]
45
Que s’est-il passé ? La variable var a pris tour à tour les valeurs de la séquence (notre
liste en occurrence) à chaque itération de façon séquentielle. Pour chaque valeur de la
liste prise par la variable var, les instructions du bloc for sont exécutées avec cette
valeur. A la fin de l’exécution de ces instructions, la variable var prend la valeur de
l’élément suivant contenu la liste, si ce n’est pas le dernier, sinon la boucle s’arrête.
Comme vous avez pu le constater, les éléments de la liste ne sont pas obligés d’être
homogènes pour être parcourus par la boucle for.

Exemple 2 : Affichons au travers de la boucle for le carré des nombres compris entre 1
et 10. Le code suivant présente une solution possible :
>>> for nb in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
print(f"{nb*nb}")
1
4
INGENIEUR Agro-Industrie, GÉOLOGIE &
Environnement (IAGE)

9
16
25
36
49
64
81
100
Cet exemple affiche le carré des nombres compris entre 1 et 10.

b. For utilisant la fonction range


Dans le deuxième exemple de la partie précédente (II.1.a), nous avons écrit un
programme Python qui affiche les carrés des nombres compris entre 1 et 10 en utilisant
la boucle for et la liste [1, 2, 3, 4,5, 6, 7, 8, 9, 10]. Cette méthode, devient très limitée
lorsqu’on souhaite opérer la répétition dans un exemple plus grand. Imaginons par
exemple qu’on souhaite afficher la liste des carrés des nombres compris entre 1 et 10.
Créer une liste contenant les nombres compris entre 1 et 100 comme nous l’avons fait
avec les nombres compris entre 1 et 10 se révèlera très fastidieux. Pour faciliter la
création de ce type de liste, Python offre la fonction range donc la syntaxe est la
suivante
range(valeur_min, valeur_max+1, pas)

Cette fonction permet de créer une séquence de nombre entier consécutif, donc le
premier élément est valeur_min et le dernier valeur_max, la différence entre deux
éléments consécutifs de cette liste est pas.

Voyons un peu cela au travers de quelques exemples concrets :


>>>range(3, 40, 3) 

Un range contenant les multiples de 3 compris entre 3 et 39.

On peut afficher le contenu dudit range via le code suivant :


>>>for i in range(3, 40, 3):
print(i)

Exemple : On souhaite créer une liste des nombres pairs compris entre 1 et 50. Le
programme Python suivant est une solution possible.
>>> liste = []
>>> for nb in range(0, 51, 2):
liste.append(nb)
>>> liste
INGENIEUR Agro-Industrie, GÉOLOGIE &
Environnement (IAGE)

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36,
38, 40, 42, 44, 46, 48, 50]

Comme on peut le voir la fonction range crée un objet (range) constitué d’une
séquence d’objet entier, donc le premier élément est 0 et le dernier, 50.

Outre la possibilité d’utilisation de range, Python offre la possibilité de créer un liste


en utilisant l’écriture en extension via l’utilisation du for.

2. While

Vous aimerez peut-être aussi