Structures itératives

 

boucles while

Les boucles while (« tant que » en anglais) bouclent sans fin, et indéfiniment, jusqu’à ce que la condition ou l’expression testée devienne fausse.
Quelque chose doit modifier la variable testée, sinon la boucle while ne se terminera jamais. C’est généralement une variable incrémentée dans le bloc d’instructions de la boucle.

var = 0

while var < 10 : # tant que la variable est inférieur à 10

# fait quelque chose 10 fois de suite…

var += 1 # incrémente la variable

Exemple : Affichage d’une table de multiplication

Résultat dans la fenêtre Python Shell :

Remarques :

Il existe des mots clés qui permettent d’effectuer une rupture dans la boucle itérative :

. continue (continue directement à la prochaine itération de la boucle, la boucle est court-circuitée)

Exemple :

Dans l’exemple suivant, tant que la variable i est inférieure à 20, celle-ci est incrémentée de 1 jusqu’à ce qu’elle soit égale à un multiple de 3. Elle est alors incrémentée de 4 et la boucle normale est reprise à l’aide de l’instruction continue.

Résultat dans la fenêtre Python Shell :


. break (sort de la boucle en cours)

. pass (instruction vide – ne fait rien)

Il est parfois pratique d’utiliser une boucle while infinie (dont la condition est toujours vraie), et d’utiliser les ruptures de séquences.

while True:

       # bloc d’instructions

       if condition : break

Exemple :

Dans cet exemple, on demande à l’utilisateur de saisir la lettre ‘Q’ pour sortir de la boucle.

 

boucles for

L’utilisation principale de l’instruction for est de parcourir un itérable, c’est-à-dire un conteneur que l’on peut parcourir élément par élément, dans l’ordre ou non, suivant son type :

– Parcours d’une chaine de caractères :

Résultat dans la fenêtre Python Shell :

 

– Parcours d’une liste :

Résultat dans la fenêtre Python Shell :

 

L’instruction for peut également être est utilisée pour répéter l’exécution d’un bloc d’instructions à l’aide de la fonction range() déjà vu lors de la présentation des listes :

for i in range(10):

       # bloc d’instructions

Dans cet exemple, le bloc d’instructions sera exécuté 10 fois.


Remarques
:


– Une boucle for peut également être arrêtée avec l’instruction break

Exemple :

Dans cet exemple, la boucle for parcours les éléments d’une liste de nombres. Si le nombre lu est supérieur à 15, la boucle est stoppée.

Résultat dans la fenêtre Python Shell :

 

– Les boucles while et for peuvent posséder une clause else qui ne s’exécute que si la boucle se termine normalement, c’est-à-dire sans interruption avec l’instruction break :

Dans l’exemple ci-dessus, on parcourt une liste à l’aide d’une boucle while pour savoir si la variable element est dans la liste. Si la variable est trouvée, la boucle est stoppée avec une instruction break :

Résultat dans la fenêtre Python Shell :


, sinon on affiche que la variable n’est pas dans la liste :

Résultat dans la fenêtre Python Shell avec modification de la variable element = ‘E’ :

 

Il en est de même avec une boucle for :

Résultats dans la fenêtre Python Shell :

avec modification de la variable element = ‘E’ :