![]()
Chapitre 7 : Les boucles for et while
Outre les conditions, les boucles sont aussi un élément indispensable de tout code informatique. Imaginez, sans elle, les jeux vidéo n'existeraient pas ! Car oui, un jeu vidéo n'est rien moins qu'une grande boucle infinie qui se répète tant que le jeu est en fonction : 60 fois par seconde pour avoir du 60fps ! 😉
Il existe deux grands types de boucles, selon ce qu'on souhaite faire :
| for | Boucle finie qui va durer un certain nombre de fois / itérations. |
| while | Boucle infinie tant qu'une condition n'est pas remplie. |
Prenons quelques exemples simples pour illustrer ces deux boucles. 😉
La boucle for
On l'écrit généralement comme suit, en utilisant la fonction range(), bien pratique.
On pourrait littéralement la traduire par : Pour i = 0 jusqu'à 10 : Afficher i :
for i in range(10):
print(i)
Si on l'exécute, vous verrez s'afficher à la suite les nombres de 0 à 9.
Notez bien, là encore, l'indentation (espace d'un TAB) qui place print() sous la boucle for, ainsi que la présence des deux points : - si l'un des deux n'est pas correct, cela ne fonctionnera pas et c'est, là encore, une erreur de débutant ! 🤪
Mais pourquoi, ça n'affiche les nombres que jusqu'à 9, alors qu'on a mis 10 ? 😱
Ah, ça aussi, c'est une erreur de débutant. Par défaut, en programmation, le décompte part de 0 et pas de 1. Si vous allez de 0 à 9, ça vous fait bien 10 nombres (si, si, vous pouvez vérifier en comptant sur vos doigts si vous ne me croyez pas). 😅
Si, on veut vraiment afficher les nombres de 1 à 10, on peut faire :
for i in range(10):
i += 1
print(i)
Ce qui nous permet également de voir que pour ajouter 1 à une variable, il suffit d'écrire += 1. On aurait aussi pu choisir une autre valeur. Essayez avec 2 pour voir la différence. 😉
On peut également imbriquer des boucles les unes dans les autres, tout comme les conditions.
Prenons par exemple :

Le code suivant va afficher les tables de multiplication de 0 à 9 :

Notez qu'on a choisi un compteur j différent de celui i de la première boucle pour ne pas que les deux boucles se mélangent. 😉
La boucle while
La boucle while s'exécute tant qu'une condition est vraie ou True.
Voici un exemple :

Le code suivant affiche également les nombres de 0 à 9, mais pas de la même façon. 😜
Mais on s'en sert plus souvent pour créer des boucles infinies qui s'arrêteront, par exemple, à la demande de l'utilisateur comme dans l'exemple suivant :

Cette boucle ressemble à la précédente et fait la même chose (elle afiiche les nombres de 0 à l'infini), sauf que cette fois, elle va demander à chaque tour de boucle à l'utilisateur s'il veut arrêter. Si celui-ci répond "O", on va passer la variable continuer à False pour arrêter la boucle. 😉
Les instructions break et continue
Les instructions break et continue, qu’on retrouve dans de nombreux langages, sont souvent utilisées avec les boucles.
L’instruction break permet ainsi de stopper l’exécution d’une boucle lorsqu’une certaine condition est vérifiée. On l’utilise souvent dans une condition de type if.
Si on reprend notre code précédent, on peut ainsi l'écrire :

L’instruction continue permet d’ignorer l’itération actuelle de la boucle et de passer directement à la suivante. Elle nous permettra donc d’ignorer une partie de notre boucle dans certaines conditions.

Dans cet exemple, on reprend l'affichage de nos nombres de 0 à 9, sauf que quand celui-ci est 5, on "saute" la boucle et on passe directement à 6 sans écrire 5.
Passons maintenant à un peu de pratique ! 🤓
TP 10 : Saisie du code PIN |
|
Vous allez créer un programme qui demande à l'utilisateur de saisir son code PIN, en complétant le code suivant : |
codePin, pinSaisi = "1234", input("Entrez votre code PIN : ") |
Voilà, pour ce chapitre ! 😀
A bientôt pour la suite ! ☺️

English
Français