Accueil › Cours › Tant que et Répéter
Tant que et Répéter en Python et algo : cours 2ème TI
Répète tant qu'une condition est vraie, quand on ne connaît pas le nombre de tours.
Les leçons de ce chapitre
- Tant que
- Répéter … jusqu'à
- Quelle boucle choisir ?
Leçon 7.1 : Tant que
Quand on ne sait pas à l'avance combien de fois répéter, on utilise Tant que : les instructions sont répétées tant que la condition est vraie. La condition est testée avant chaque tour : si elle est fausse dès le début, le bloc ne s'exécute jamais.
- Algorithme :
TantQue condition Faire…FinTantQue. - Python :
while condition:suivi d'un bloc décalé.
Attention : Les trois pièges de Tant que : 1) oublier d'initialiser la variable testée, 2) oublier de la modifier dans la boucle (la boucle ne s'arrête jamais !), 3) se tromper de condition (< au lieu de <=).
Astuce : Si ton programme tourne sans fin, l'éditeur l'arrête après quelques secondes et t'explique qu'il y a une boucle infinie.
En Python
On ne sait pas combien d'années il faudra : on répète tant que le capital n'a pas atteint 2000.
print("Capital initial :")
capital = float(input())
annees = 0
while capital < 2000:
capital = capital * 1.1
annees = annees + 1
print("Années :", annees)
En algorithme
Le bloc est entre TantQue … Faire et FinTantQue.
Algorithme Epargne
Début
Ecrire("Capital initial :")
Lire(capital)
annees ← 0
TantQue capital < 2000 Faire
capital ← capital * 1.1
annees ← annees + 1
FinTantQue
Ecrire("Années : ", annees)
Fin
TDO
Objet | Type/Nature
capital | Réel
annees | Entier
Leçon 7.2 : Répéter … jusqu'à
La boucle Répéter … Jusqu'à exécute le bloc d'abord, puis teste la condition d'arrêt. Le bloc s'exécute donc au moins une fois. Attention : on s'arrête quand la condition devient vraie, l'inverse de Tant que.
Python n'a pas cette structure. On l'écrit avec while True: et un break quand la condition d'arrêt est vraie.
Contrôler la saisie
Répéter … Jusqu'à est idéal pour redemander une valeur tant qu'elle est incorrecte : on lit au moins une fois, puis on recommence jusqu'à ce que la valeur soit bonne.
En Python
break sort de la boucle : il est exécuté quand la note est valide.
while True:
print("Donner une note entre 0 et 20 :")
note = int(input())
if note >= 0 and note <= 20:
break
print("Note valide :", note)
En algorithme
En algorithme, la condition après Jusqu'à est la condition d'arrêt.
Algorithme Controle
Début
Répéter
Ecrire("Donner une note entre 0 et 20 :")
Lire(note)
Jusqu'à note >= 0 et note <= 20
Ecrire("Note valide : ", note)
Fin
TDO
Objet | Type/Nature
note | Entier
Leçon 7.3 : Quelle boucle choisir ?
Tu connais maintenant trois boucles. Pour choisir, pose-toi une question : est-ce que je connais le nombre de tours ?
- Oui → Pour (par exemple : afficher les n premiers nombres, lire n notes).
- Non, et le bloc peut ne jamais s'exécuter → Tant que (par exemple : tant que le capital est insuffisant).
- Non, et il faut au moins un tour → Répéter … Jusqu'à (par exemple : redemander une saisie).
Les chiffres d'un nombre
Un grand classique avec while : retirer les chiffres un par un. n % 10 donne le dernier chiffre et n // 10 enlève ce chiffre. On continue tant que n > 0.
Attention : Une boucle infinie arrive souvent quand on oublie la ligne qui fait avancer la variable (n ← n div 10, i ← i + 1…). Relis toujours : « qu'est-ce qui rend la condition fausse un jour ? »
En Python
À chaque tour on ajoute le dernier chiffre à la somme, puis on le retire du nombre.
n = int(input())
somme = 0
while n > 0:
somme = somme + n % 10
n = n // 10
print("Somme des chiffres :", somme)
En algorithme
Avec mod et div : le même programme.
Algorithme Chiffres
Début
Lire(n)
somme ← 0
TantQue n > 0 Faire
somme ← somme + n mod 10
n ← n div 10
FinTantQue
Ecrire("Somme des chiffres : ", somme)
Fin
TDO
Objet | Type/Nature
n, somme | Entier
S'entraîner gratuitement
Chaque leçon a 3 exercices gratuits avec indices, et 8 missions du jeu pour appliquer ce chapitre avec Hannibot.
← Chapitre précédent : La boucle Pour · Chapitre suivant : Problèmes types →
Tous les chapitres · Voir les devoirs corrigés de 2ème TI
Cours écrit pour Mission Carthage d'après le programme officiel. Ton professeur reste la référence.