Les boucles en Python<span class="wtr-time-wrap after-title"><span class="wtr-time-number">8</span> min read</span>
les boucles en Python

Les boucles en Python8 min read

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.

les boucles en Python
les boucles en Python

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

Vous abonner à notre newsletter

* champ requis

Laisser un commentaire

Fermer le menu
×
×

Panier