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 !
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 :
- Le mot-clé
while
indique à Python que nous commençons une boucle while. - La
condition
est une expression booléenne qui détermine si la boucle doit continuer ou s'arrêter. - 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