Boucles — for et while
Pourquoi répéter du code ?
Imagine que tu veux afficher les nombres de 1 à 100.
Tu ne vas pas écrire 100 lignes print().
C'est là qu'entrent les boucles.
Une boucle répète un bloc de code plusieurs fois. Elle s'arrête quand une condition est remplie (ou quand la liste est épuisée).
La boucle for — parcourir une séquence
for est parfaite quand tu sais combien de fois tu veux répéter quelque chose,
ou quand tu veux parcourir chaque élément d'une liste.
# Afficher les prénoms d'une liste
prenoms = ["Alice", "Bob", "Charlie"]
for prenom in prenoms:
print(f"Bonjour, {prenom} !")
# Résultat :
# Bonjour, Alice !
# Bonjour, Bob !
# Bonjour, Charlie !
range() — répéter N fois
Pour répéter un nombre précis de fois, on utilise range() :
# range(5) génère les nombres 0, 1, 2, 3, 4
for i in range(5):
print(f"Tour numéro {i}")
# range(1, 6) génère 1, 2, 3, 4, 5 (le dernier est exclu)
for i in range(1, 6):
print(i)
# range(0, 10, 2) génère 0, 2, 4, 6, 8 (pas de 2)
for i in range(0, 10, 2):
print(i)
range(n) commence à 0 et s'arrête avant n. Donc range(5) donne 0, 1, 2, 3, 4.
C'est normal en Python — l'indexation commence à 0.
La boucle while — répéter jusqu'à une condition
while répète le code tant qu'une condition est vraie.
On l'utilise quand on ne sait pas à l'avance combien de répétitions il faut.
# Compter jusqu'à 5
compteur = 1
while compteur <= 5:
print(f"Compteur : {compteur}")
compteur = compteur + 1 # ou : compteur += 1
# Résultat : 1, 2, 3, 4, 5
Boucle infinie ! Si la condition de ton while ne devient jamais fausse,
le programme tourne indéfiniment. Toujours s'assurer que quelque chose change dans la boucle.
Pour arrêter : Ctrl+C dans le terminal.
Exemple pratique : devinette avec plusieurs essais
secret = 42
tentative = 0
while tentative != secret:
tentative = int(input("Devine : "))
if tentative < secret:
print("Trop petit !")
elif tentative > secret:
print("Trop grand !")
print("Bravo, tu as trouvé !")
break et continue
# break — quitte la boucle immédiatement
for i in range(10):
if i == 5:
break # arrête la boucle quand i vaut 5
print(i) # affiche 0, 1, 2, 3, 4
# continue — passe à l'itération suivante
for i in range(6):
if i == 3:
continue # saute le 3
print(i) # affiche 0, 1, 2, 4, 5
for x in liste:parcourt chaque élément de la liste.for i in range(n):répète n fois (de 0 à n-1).while condition:répète tant que la condition est vraie.- Toujours s'assurer qu'un
whilea une sortie. Sinon : boucle infinie. breaksort de la boucle.continuesaute à l'itération suivante.