Previous Up Next
pdf - e-book - archive

1.4  Boucles

Nous souhaitons créer un programme qui nous affiche tous les nombres de 1 à 5, donc dont l’exécution serait la suivante :

1 2 3 4 5

Une façon particulièrement vilaine de procéder serait d’écrire 5 print successifs, avec la laideur des copier/coller que cela impliquerait. Nous allons étudier un moyen de coder ce type de programme avec un peu plus d’élégance.

1.4.1  Définitions et terminologie

Une boucle permet d’exécuter plusieurs fois de suite une même séquence d’instructions. Cette ensemble d’instructions s’appelle le corps de la boucle. Chaque exécution du corps d’une boucle s’appelle une itération, ou plus informellement un passage dans la boucle. Lorsque l’on s’apprête à exécuter la première itération, on dit que l’on entre dans la boucle, lorsque la dernière itération est terminée, on dit qu’on sort de la boucle. Il existe deux types de boucle :

Chacune de ces boucles a ses avantages et ses inconvénients. Nous les passerons en revue ultérieurement.

1.4.2   while

En Python, la boucle tant que se code de la façon suivante :

while(<condition>): <instructions>

Les instructions du corps de la boucle sont indentées. La condition est évaluée avant chaque passage dans la boucle, à chaque fois qu’elle est vérifiée, on exécute les instructions de la boucle. Un fois que la condition n’est plus vérifiée, l’exécution se poursuit après l’accolade fermante. Affichons par exemple tous les nombres de 1 à 5 dans l’ordre croissant,

i = 1
while (i <= 5):
    print(i)
    i += 1
    

Télécharger le fichier

Ce programme initialise i à 1 et tant que la valeur de i n’éxcède pas 5, cette valeur est affichée puis incrémentée. Les instructions se trouvant dans le corps de la boucle sont donc exécutées 5 fois de suite. La variable i s’appelle un compteur, on gère la boucle par incrémentations successives de i et on sort de la boucle une fois que i a atteint une certaine valeur. L’initialisation du compteur est très importante ! Si vous n’initialisez pas i explicitement, alors cette variable contiendra n’importe quelle valeur et votre programme ne se comportera pas du tout comme prévu. Notez bien par ailleurs qu’il y a deux points après la parenthèse.

1.4.3   for

On utilise une boucle for lorsque l’on connait en entrant dans la boucle combien d’itérations devront être faites. On évitera par exemple, de s’en servir pour contrôler une saisie.

Commençons par donner sa syntaxe :

for <compteur> in range (<premiere valeur>, <derniere valeur + 1>): <instructions>

Le <compteur> est déclaré dans l’entête de la boucle et est automatiquement initialisé à <premiere valeur>. Le compteur est ensuite automatiquement incrémenté entre les itérations jusqu’à ce qu’il atteigne la <derniere valeur>.

Par exemple, on réécrit l’affiche des 5 premiers entiers de la sorte :

for i in range(1, 6):
    print(i)
    

Télécharger le fichier

Attention ! Remarquez bien que la borne supérieure utilisée dans l’entête est 6 !


Previous Up Next