SNT & NSI · TOUS NIVEAUX (2NDE · 1ÈRE · TERMINALE)
Boucles et Répétitions (for, while)
Automatiser la répétition d'instructions avec la boucle bornée for et la boucle conditionnelle while. Mini-projet du Nombre Mystère.
Boucles et Répétitions (for, while)
Objectifs du chapitre
- Comprendre l'intérêt des boucles pour automatiser les tâches répétitives sans dupliquer de code.
- Maîtriser la boucle bornée `for` et l'utilisation de la fonction
range(). - Maîtriser la boucle non bornée / conditionnelle `while` et éviter les boucles infinies.
- Mettre en œuvre les mécanismes de compteur et d'accumulateur.
- Réaliser un mini-projet complet : Le jeu interactif du Nombre Mystère.
1. Pourquoi utiliser des boucles ?
En programmation, le principe fondamental est DRY (Don't Repeat Yourself). Si vous devez répéter 100 fois une action (par exemple envoyer 100 paquets de test ou afficher les 10 premières tables de multiplication), vous n'allez pas copier-coller 100 fois la même ligne de code.
On utilise une boucle.
2. La boucle bornée : for ... in range(...)
On utilise la boucle for lorsqu'on connaît à l'avance le nombre de répétitions.
Comment fonctionne range() ?
range(5)génère la séquence :0, 1, 2, 3, 4(s'arrête avant 5 !).range(1, 6)génère la séquence :1, 2, 3, 4, 5.range(0, 10, 2)génère de 0 à 8 avec un pas de 2 :0, 2, 4, 6, 8.
Exemple : Table de multiplication
Exercice 1 : Affichage des carrés d'entiers avec une boucle for
Écrivez un programme Python qui utilise une boucle for pour afficher le carré des nombres de 1 à 10 sous la forme :
Le carré de 1 est 1
Le carré de 2 est 4
...
Le carré de 10 est 100
3. La boucle conditionnelle : while
On utilise la boucle while (qui signifie « tant que ») lorsque le nombre de répétitions n'est pas connu à l'avance et dépend d'une condition qui évolue au fil du temps.
Attention au piège de la boucle infinie !
Si la condition d'une boucle while reste toujours vraie et ne devient jamais fausse, le programme tourne indéfiniment et se bloque. Il faut toujours s'assurer qu'une variable évolue à l'intérieur de la boucle pour atteindre la condition d'arrêt.
Exercice 2 : Compte à rebours avec boucle while
Écrivez un programme Python avec une boucle while qui démarre à 10 et décrémente un compteur d'une unité à chaque tour jusqu'à 0, puis affiche "Décollage réussi !".
4. Compteurs et Accumulateurs
Deux modèles de conception sont omniprésents dans les boucles :
Le Compteur (Compter des occurrences)
L'Accumulateur (Calculer une somme ou un total)
Exercice 3 : Calculateur de moyenne de classe
Écrire un programme Python qui :
- Demande combien de notes l'élève souhaite saisir.
- Utilise une boucle
foret un accumulateur pour additionner chaque note saisie. - Calcule et affiche la moyenne finale sur 20.
5. Mini-Projet Guidé : Le Jeu du Nombre Mystère
Rassemblons toutes les notions apprises : variables, affichage, saisie, conversions, calculs, conditions et boucles !
Quiz d'auto-évaluation
Question 1 : Nombre d'itérations avec range()
Combien de fois la boucle for i in range(4) va-t-elle s'exécuter ?
Question 2 : Quand utiliser une boucle while ?
Quand doit-on préférer une boucle while à une boucle for ?
Question 3 : Valeur générée par range(2, 8, 2)
Quelles sont les valeurs prises par la variable k dans for k in range(2, 8, 2) ?
Avez-vous compris et assimilé ce cours ?
+50 XPÉtudiez le contenu activement pendant au moins 45 secondes pour pouvoir débloquer la validation au mérite.
