Cours Python · Module 1: Bases de Python
Les boucles - les cycles de la nature
Dans cette leçon5
Bienvenue ! La nature adore la répétition : le soleil se lève chaque matin, les vagues s'écrasent sur le rivage, le troupeau migre chaque année. En programmation, on a aussi souvent besoin de répéter quelque chose - vérifier chaque animal d'une liste, compter les jours d'expédition, générer un rapport toutes les heures. Plutôt que de réécrire le même code plusieurs fois, on utilise des boucles.
La boucle for - parcourir chaque élément
La boucle for parcourt les éléments d'une collection un par un - comme un explorateur qui observe chaque animal du troupeau, l'un après l'autre.
1animals = ["Lion", "Éléphant", "Girafe", "Python"]
2
3for animal in animals:
4 print(f"Observé : {animal}")Python prend le premier élément de la liste, l'affecte à la variable animal, puis exécute le bloc indenté. Ensuite, il prend le deuxième élément, le troisième - jusqu'à la fin de la liste. Comme pour if, il y a des deux-points après l'en-tête et un bloc indenté.
range() - répéter un nombre précis de fois
Quand on veut faire quelque chose un nombre précis de fois, on utilise range(). Cette fonction génère une séquence de nombres.
1# Afficher les jours d'expédition de 1 à 5
2for day in range(1, 6):
3 print(f"Jour {day} de l'expédition")
4
5# range(5) génère 0, 1, 2, 3, 4
6for i in range(5):
7 print(f"Étape {i}")Retiens bien : range(1, 6) donne les nombres de 1 à 5 - la borne supérieure (6) n'est pas incluse. Et range(5) commence à 0 et donne 0, 1, 2, 3, 4.
La boucle while - répéter tant que la condition est remplie
La boucle while répète du code tant qu'une condition est True. On l'utilise quand on ne sait pas à l'avance combien de répétitions seront nécessaires.
1water_supply = 5
2
3while water_supply > 0:
4 print(f"Eau restante : {water_supply} litres")
5 water_supply = water_supply - 1 # utiliser un litre
6
7print("Plus d'eau !")Python vérifie la condition avant chaque répétition. Tant que water_supply > 0 est True, il exécute le bloc. Très important : à l'intérieur de la boucle, on doit modifier la condition (ici : diminuer la réserve d'eau), sinon la boucle ne se termine jamais - on appelle ça une boucle infinie.
break et continue - contrôler la boucle
Parfois, on veut arrêter une boucle prématurément (break) ou sauter une répétition et passer à la suivante (continue).
1animals = ["Gazelle", "Lion", "Antilope", "Zèbre"]
2
3for animal in animals:
4 if animal == "Lion":
5 print("Prédateur ! Arrêt de l'observation.")
6 break # sortir de la boucle
7 print(f"Sans danger : {animal}")1numbers = [1, 2, 3, 4, 5, 6]
2
3for number in numbers:
4 if number % 2 != 0:
5 continue # ignorer les nombres impairs
6 print(f"Nombre pair : {number}")Pratique
Écris une boucle qui compte tous les animaux observés pendant l'expédition. Exécute les boucles dans l'éditeur et ajoute un autre animal à la liste :
Code de cette leçon : main.py
1# Boucles - compter les animaux pendant l'expédition
2
3animals = ["Lion", "Éléphant", "Girafe", "Zèbre", "Python"]
4
5# TODO : utilise une boucle for pour afficher chaque animal
6for animal in animals:
7 print(f"Observé : {animal}")
8
9# TODO : compte combien il y a d'animaux (compte dans la boucle)
10count = 0
11for animal in animals:
12 count = count + 1
13
14print(f"{count} animaux observés au total")
15
16# TODO : utilise range() pour afficher 3 jours d'expédition
17for day in range(1, 4):
18 print(f"Jour {day} de l'expédition")Résumé
Dans cette leçon, tu as maîtrisé la répétition de code :
for- parcourt les éléments d'une collection (par ex. une liste)range()- génère une séquence de nombres pour les répétitionswhile- répète tant qu'une condition estTruebreak- arrête la boucle,continue- saute une répétition- Le danger de la boucle infinie
Dans la dernière leçon de ce bloc, Darwin te montrera les fonctions - comment envelopper du code dans un outil réutilisable !
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. Que parcourt la boucle for dans for animal in animals ?
2. Quels nombres range(1, 6) va-t-il générer ?
3. Que fait l'instruction break dans une boucle ?
Tâches pratiques dans le jeu
- Tri vertical
Remets dans l'ordre la boucle while qui affiche successivement 5, 4, 3, 2, 1 :