Les boucles en Python
Dans le dernier article nous avons découvert les opérateurs conditionnels ainsi que les blocs conditionnels. Dans ce nouvel article, nous allons parler des boucles. Sachez que vous aurez besoin de maîtriser les opérateurs conditionnels afin de bien comprendre les boucles. Je vous recommande donc de lire cet article afin d’en savoir plus.
C’est quoi une boucle en programmation ?
Les boucles sont des closes ou des blocs de code se répétant tant qu’une certaine condition est respectée. Il y a deux types de boucles en python, les boucles while et les boucle for. Dans cet article nous allons découvrir les fonctionnalités de ces boucles ainsi que leurs différences. Encore une fois, vous devez absolument maîtriser les conditions pour utiliser les boucles, si vous ne les maîtrisez pas, je vous invite à cliquer sur le lien présenté plus tôt.
A quoi ça sert une boucle ?
Comme je l’ai dit, les boucles permettent de répéter un code plusieurs fois. Ces répétitions peuvent sembler inutiles lorsque l’on débute, sachez qu’elles sont en fait extrêmement importantes et qu’elles sont à la base de tout programme.
En programmation, on as souvent besoin de répéter une opération, que cela soit un jeux-vidéo qui relance une partie, ou un algorithme qui va trier des objets dans une liste, on as besoin de répéter une même opération dans des conditions différentes.

Tout bon programmeur doit absolument maîtriser les boucles. Vous verrez qu’elles permettent même d’isoler chaque variable d’un objet de stockage tel qu’une liste ou un dictionnaire. Avec les boucles vous pouvez traiter des centaines de données en quelques lignes de code, génial non ?
Les boucles while
Nous allons d’abord étudier la boucle while, c’est la boucle la plus simple à comprendre. Celle-ci permets de répéter une opération tant qu’une certaine condition est respectée.
Les boucles while ne sont pas les plus utilisées en Python. Néanmoins elles sont très utiles pour comprendre le fonctionnement derrière les boucles.
Voyons maintenant comment déclarer une boucle while :
i = 0 while i < 1: print('dans la boucle')
Ce simple code permets de créer une boucle qui exécuteras tant que i < 1. Le problème c’est que dans ce code , i est toujours inférieur à 1. Pour remédier à ça, nous devons incrémenter notre itérateur, c’est à dire que nous devons augmenter la valeur de notre variable testant la condition.
C’est très simple à faire, il suffit de changer la valeur de la variable i , notre boucle va tester la valeur de cette variable à chaque passage, si on augmente sa valeur dans la boucle, notre condition finiras par être fausse, notre boucle s’arrêteras donc
i = 0 while i < 1: print('dans la boucle') i += 1
Ce simple ajout va augmenter la valeur de i. Dans notre situation, notre boucle ne exécuteras qu’une fois. Changeons ça en augmentant la valeur qui casse notre condition
i = 0 while i < 100: print('dans la boucle') i += 1
Testez ce code, vous allez voir qu’il va s’exécuter 100 fois. Bien sûre, il est possible d’écrire absolument ce que vous voulez dans cette boucle. Je vais même vous apprendre à manipuler des arrays
prenoms = ['Anne Laure', 'Stephane', 'Marie', 'Alexandre']
Notre but ici est d’afficher les prénoms individuellement avec une phrase. Pour se faire, on peux utiliser une boucle while
while i < len(prenoms) // ici on obtiens la longueur de la liste: print(f'bonjour , je suis {prenoms[i]} , ravi(e) de vous rencontrer') i += 1
Comme vous pouvez le voir, il est très facile de naviguer dans une liste. Il suffit d’indiquer l’index qui s’incrémente au fur et à mesure et le tour es joué
Les boucles For
Maintenant que nous venons de découvrir les boucles de bases, attaquons nous aux boucles for. Celles-ci permettent en fait de manipuler directement des listes ou des objets. Si vous faites de la programmation sur un autre langage que python, sachez que les boucles for de python n’ont rien à voir avec les boucles for du type C. On peux plutôt dire qu’elles ressemblent aux boucles foreach
Les boucles for permettent de créer une pseudo variable qui représente un objet de liste. Cette pseudo variable seras ensuite réassignée à l’objet suivant et ce jusqu’à la fin de la liste.
Reprenons notre liste de tout à l’heure et voyons comment déclarer une boucle for
prenoms = ['Anne Laure', 'Stephane', 'Marie', 'Alexandre'] for prenom in prenoms: print(f'Bonjour je suis {prenom}')
Beaucoup plus simple vous ne trouvez pas ? On déclare simplement que la variable prenom symbolise chaque prénoms contenus dans la liste. Ensuite il suffit de manipuler cette variable et ce code exécuteras tant qu’il y a des noms dans la liste.
Lorsque vous manipulez des données, je vous invite fortement à utiliser les boucles for. En fait, vous devriez utiliser les boucles while uniquement si vous devez implémenter une logique externe à des données, comme par exemple une boucle infinie.
Break et continue
Nous allons maintenant parler de ces deux mots clés qui sont exclusifs aux boucles. Ils permettent d’interrompre une boucle. Nous allons voir qu’il est possible d’ajouter des conditions dans des boucles. En fait, vous pouvez faire absolument tout dans une boucle.
Pour illustrer cette situation, nous allons créer un petit jeux-vidéo qui se baseras sur une boucle infinie. Si jamais le joueur perds, la boucle se casse.
D’abord, voyons un peu comment fonctionnent break et continue. Le premier permets de casser totalement une boucle. Le programme continue son exécution et la boucle est à jamais cassée. Le second mot clé permets de passer à la prochaine itération.
Créons maintenant notre petit jeux de dé, les règles sont simples :
Le joueur doit lancer 1 dé, si il fait 4 ou + , il gagne n point pour chaque nombre égal ou supérieur à 4 , par exemple 5 = 2 points. Si le joueur fait 3 ou moins, il perds n point pour chaque nombre égal ou inférieur à 3. Par exemple 1 = -3 points
Le joueur débute avec un score de 5 , il doit monter à 10 pour gagner et si il tombe à 10, il as perdu.
import random score = 5 while True: // création d'une boucle infinie print('vous allez lancer un dé') de = random.randint(1, 6) if de > 3 : // on gagne des points score += de - 3 // on calcule les gains else : score -= 4 - de // on calcule les pertes if score <= 0 : break
Ce petit jeux nous permets de bien comprendre le fonctionnement de break. On aurait tout à fait pu directement mettre comme condition de jouer au jeux jusqu’à ce que le score soit égal à 10 , mais je préfère utiliser break.
Implémentons maintenant le continue. L’idée ici est de permettre au joueur de faire un choix. On va lui donner la valeur de changement, par exemple si le joueur fait 5 ou 2 , on lui dit que son score va bouger de deux points, seulement, il ne sait pas si c’est négatif ou positif.
Ensuite, le joueur peux choisir de conserver sa position ou de l’annuler
import random score = 5 while score < 10: // création d'une boucle infinie print('vous allez lancer un dé') de = random.randint(1, 6) changement = 4 - de // ce code nous permets d'obtenir la valeur de changement à coup sûr changement = abs(changement) // on passe le nombre en positif si il est négatif print(f'attention , le score va changer de {changement}, voulez vous conserver votre position') changer = input('Appuyez sur x pour changer') if changer.lower().strip() == 'x': continue if de > 3 : // on gagne des point score += de - 3 // on calcule les gain else : score -= 4 - de // on calcule les pertes if score <= 0 : break
Et voilà, on as implémenté le code permettant de décider de conserver ou non notre position. Comme vous le voyez, il suffit d’implémenter une condition avec continue et le tour es joué.
break et continue sont des outils que vous devez absolument maîtriser afin de créer de bons programmes python.
J’espère que ce tutoriel python sur les boucles vous auras permis d’y voir plus clair
Si cet article vous as plu, vous pouvez vous abonner à ma newsletter pour recevoir le guide GRATUIT Ultime pour bien débuter la programmation