Python: Boucles en Python

From Wiki Cours
Jump to navigation Jump to search

<--Sommaire

Boucle While

Une première manière d'effectuer des boucles en Python utilise un test logique et le mot-clé while:

while test:
    ...
    ...

Il ne faut pas oublier d'indenter le bloc correspondant à l’exécution de la boucle. Par exemple, on peut faire

i=0
while i<10:
    print(i**2)
    i += 1

Cette structure est utile dans le cas où le test de condition est plus compliqué que dans cet exemple et déterminé après un processus non-trivial à l'intérieur du bloc d’exécution. Il faut en particulier être certain que la condition test=False soit réaliser pour ne pas créer une boucle infinie. Dans le cas ci-dessous, on préférera utiliser une boucle for.

Boucle For

La boucle for permet de parcourir des éléments d'un 'iterable' qui est un objet sur lequel on peut itérer.

for i in iterable:
    ...
    ...

Un iterable peut être un conteneur, typiquement une liste, ou un algorithme qui génère une succession d'élément. Dans ce cours, on utilisera essentiellement des listes. L'exemple précédent se réécrit en

for i in range(10):
    print(i**2)

dont on voit qu'il est plus concis. Noter que pour gagner un peu d'espace, il est possible de mettre le contenu du bloc d'exécution en ligne si celui-ci ne comporte qu'une seule ligne

for i in range(10): print(i**2)

Les mots-clé break, continue

Deux mots-clé permettent d'agir sur le déroulement d'une boucle: break permet de sortir d'une boucle, on revient alors au niveau du bloc supérieur à la boucle

for i in range(6):
    print(i)
    for j in range(6):
        if i*j >= 10:
            print(i,j)
            break

Le mot-clé continue poursuit la boucle mais en renvoyant au début de l'exécution du bloc sous la boucle:

for i in range(6):
    print(i)
    for j in range(6):
        if i*j >= 10:
            print("#",i,j)
            continue
        print("%",i,j)