Python - While Loops: A Beginner's Guide

Bonjour à tous, aspirants programmeurs Python !aujourd'hui, nous allons plonger dans le merveilleux monde des boucles while. En tant que votre enseignant en informatique de quartier, je suis là pour vous guider pas à pas dans ce voyage. Alors, prenez votre boisson préférée, mettez-vous à l'aise, et partons ensemble dans cette aventure passionnante !

Python - While Loops

Qu'est-ce qu'une boucle While ?

Avant de plonger dans les détails, commençons par les bases. Imaginez que vous jouez à un jeu où vous devez lancer un dé jusqu'à ce que vous obtenez un six. Vous ne sauriez pas à l'avance combien de fois vous devrez lancer, n'est-ce pas ? C'est là que les boucles while entrent en jeu !

Une boucle while en Python vous permet d'exécuter un bloc de code de manière répétée tant qu'une certaine condition est vraie. C'est comme dire à Python : "Hé, continues à faire ça jusqu'à ce que je te dis de stopper !"

Syntaxe de base

Voici à quoi ressemble une boucle while dans sa forme la plus simple :

while condition:
# code à être exécuté

Pretty straightforward, isn't it ? Vous allez l'analyser :

  1. Le mot-clé while indique à Python que nous commençons une boucle while.
  2. La condition est une expression booléenne qui détermine si la boucle doit continuer ou s'arrêter.
  3. Le bloc de code indenté est ce qui est exécuté de manière répétée tant que la condition est vraie.

Un exemple simple

Mettons cela en pratique avec notre jeu de lancer de dé :

import random

roll = 0
while roll != 6:
roll = random.randint(1, 6)
print(f"Tu as lancé un {roll}")

print("Félicitations ! Tu as lancé un 6 !")

Dans cet exemple :

  • Nous importons le module random pour générer des nombres aléatoires.
  • Nous initialisons roll à 0.
  • La boucle while continue tant que roll n'est pas égal à 6.
  • À l'intérieur de la boucle, nous générons un nombre aléatoire entre 1 et 6 et l'affichons.
  • Une fois que nous avons lancé un 6, la boucle se termine et nous affichons un message de félicitations.

Exécutez ce code plusieurs fois, et vous verrez qu'il peut prendre un nombre différent de lancers à chaque fois. C'est la beauté des boucles while - elles sont parfaites pour les situations où vous ne savez pas à l'avance combien d'itérations vous aurez besoin.

Boucle While infinie en Python

Maintenant, parlons d'une chose un peu dangereuse mais passionnante - les boucles infinies. C'est comme ouvrir un sac de tes chips préférés ; une fois commencé, il est difficile de s'arrêter !

Une boucle infinie est une boucle while qui ne se termine jamais car sa condition est toujours vraie. Bien que cela puisse sembler une recette pour le désastre, il y a en fait quelques utilisations légitimes des boucles infinies en programmation.

Voici un exemple simple :

while True:
print("C'est une boucle infinie !")

Cette boucle continuera à imprimer "C'est une boucle infinie !" pour toujours... ou du moins jusqu'à ce que vous arrêtiez manuellement le programme (en general en appuyant sur Ctrl+C).

Un exemple plus pratique

Créons un simple calculateur qui continue à fonctionner jusqu'à ce que l'utilisateur décide de quitter :

while True:
print("\nCalculateur simple")
print("1. Ajouter")
print("2. Soustraire")
print("3. Quitter")

choice = input("Entrez votre choix (1-3) : ")

if choice == '3':
print("Merci d'avoir utilisé le calculateur. Au revoir !")
break
elif choice in ('1', '2'):
num1 = float(input("Entrez le premier nombre : "))
num2 = float(input("Entrez le deuxième nombre : "))

if choice == '1':
print(f"Résultat : {num1 + num2}")
else:
print(f"Résultat : {num1 - num2}")
else:
print("Entrée invalide. Veuillez réessayer.")

Dans cet exemple :

  • Nous utilisons une boucle infinie pour maintenir le calculateur en fonctionnement.
  • L'utilisateur peut choisir d'ajouter, de soustraire ou de quitter.
  • Si l'utilisateur choisit de quitter (option 3), nous utilisons l'instruction break pour sortir de la boucle.
  • Pour les options 1 et 2, nous effectuons le calcul et affichons le résultat.
  • Si l'utilisateur entre une option invalide, nous affichons un message d'erreur et la boucle continue.

C'est un excellent exemple de la manière dont les boucles infinies peuvent être utiles dans la création de programmes interactifs !

Boucle while-else en Python

Maintenant, explorons une fonctionnalité unique des boucles while en Python - la clause else. C'est comme avoir un plan de secours pour quand votre boucle se termine normalement.

La syntaxe est la suivante :

while condition:
# code à être exécuté tant que la condition est vraie
else:
# code à être exécuté lorsque la condition de la boucle devient fausse

Le bloc else est exécuté lorsque la condition de la boucle while devient fausse. Cependant, si la boucle est terminée par une instruction break, le bloc else est ignoré.

Exemple : Recherche d'un nombre

Utilisons une boucle while-else pour rechercher un nombre dans une liste :

numbers = [1, 3, 5, 7, 9, 11, 13, 15]
target = 10
index = 0

while index < len(numbers):
if numbers[index] == target:
print(f"Trouvé {target} à l'index {index}")
break
index += 1
else:
print(f"{target} non trouvé dans la liste")

Dans cet exemple :

  • Nous parcourons la liste de nombres dans une boucle.
  • Si nous trouvons la cible, nous affichons sa position et interrompons la boucle.
  • Si nous ne trouvons pas la cible et que la boucle se termine normalement, le bloc else est exécuté.

C'est particulièrement utile lorsque vous souhaitez effectuer une action uniquement si la boucle se termine sans trouver ce qu'elle cherchait.

Suites d'instructions à une seule déclaration

Parfois, votre boucle while peut être si simple qu'elle n'a besoin que d'une seule ligne de code. Dans de tels cas, Python vous permet de l'écrire en une seule ligne. C'est comme le repas au micro-ondes de la programmation - rapide et pratique !

Voici la syntaxe :

while condition: instruction

Voyons un exemple :

count = 5
while count > 0: print(count); count -= 1

Cette boucle compacte va imprimer les nombres de 5 à 1.

Cependant, un mot de prudence : bien que les boucles d'une seule ligne puissent être pratiques, elles peuvent également rendre votre code plus difficile à lire si elles sont surutilisées. Il est souvent préférable de privilégier la lisibilité à la brièveté, surtout lorsque vous apprenez.

Conclusion

Félicitations ! Vous avez vient de terminer une visite guidée à la vitesse du vent des boucles while en Python. De la boucle de base à la boucle infinie, en passant par les structures while-else et même les boucles à une seule instruction, vous avez maintenant une base solide dans ce concept essentiel de programmation.

N'oubliez pas, la pratique fait le maître. Essayez de créer vos propres boucles while, expérimentez avec différentes conditions, et voyez ce que vous pouvez construire. Qui sait ? Votre prochain projet pourrait être le prochain grand truc dans le monde de la programmation !

Bon codage, et que vos boucles se terminent toujours quand vous le souhaitez !

Méthode Description Exemple
Boucle while de base Exécute un bloc de code tant qu'une condition est vraie while count > 0: print(count); count -= 1
Boucle while infinie Continue indéfiniment jusqu'à ce que l'on arrête manuellement ou qu'une condition de break soit rencontrée while True: print("C'est une boucle infinie !")
Boucle while-else Exécute un bloc else lorsque la condition de la boucle devient fausse while condition: ... else: ...
Boucle while à une seule instruction Exécute une seule instruction tant qu'une condition est vraie while count > 0: print(count); count -= 1
Instruction break Sort de la boucle prématurément while True: if condition: break
Instruction continue Saute le reste de l'itération actuelle et passe à la suivante while True: if condition: continue

Credits: Image by storyset