Bases & algorithmique · 5 mondes · 15 étapes
Bases de la programmation
La grammaire du code, en Python, directement dans le navigateur.
Progression
0 %
0/15 étapes terminées
Fondamental · 9 min de lecture
Les boucles
Répéter sans se répéter
1Définition
Une boucle exécute un bloc plusieurs fois. for parcourt une série connue (range, liste, dictionnaire) ; while répète tant qu'une condition reste vraie.
2Principes fondamentaux
01
for quand on sait, while quand on cherche
Le nombre de tours est connu d'avance ? for. Il dépend de ce qui se passe ? while.
02
L'accumulateur
Une variable initialisée avant la boucle, modifiée à chaque tour, lue après : c'est le motif de tout calcul cumulé.
03
Toujours faire avancer la sortie
Dans un while, quelque chose doit rapprocher la condition de la fausseté, sinon la boucle est infinie.
04
break et continue
break sort de la boucle, continue passe au tour suivant. À utiliser avec parcimonie.
3Exemples pratiques
Somme et moyenne
1notes = [12, 15, 9, 18]2total = 03 4for note in notes:5 total = total + note6 7moyenne = total / len(notes)8print(total, moyenne) # 54 13.5Un accumulateur pour la somme, puis une division par le nombre d'éléments.
Chercher sans tout parcourir
1codes = ["1111", "1234", "9999"]2 3for code in codes:4 if code == "1234":5 print("Code trouvé")6 breakbreak arrête la boucle dès que le résultat est trouvé : inutile de continuer.
4Erreurs courantes
Modifier le compteur au mauvais endroit
À éviter
n = 0while n < 3: print(n)n = n + 1À faire
n = 0while n < 3: print(n) n = n + 1Pourquoi : Hors du bloc, l'incrément n'est jamais exécuté : boucle infinie.
Réinitialiser l'accumulateur dans la boucle
À éviter
for p in prix: total = 0 total = total + pÀ faire
total = 0for p in prix: total = total + pPourquoi : Remis à zéro à chaque tour, le total ne retient que la dernière valeur.
Confondre range et liste
À éviter
for i in range(notes):À faire
for note in notes:# oufor i in range(len(notes)):Pourquoi : range attend des nombres, pas une liste.
5Subtilités à connaître
- ◆
range(debut, fin, pas)accepte un pas négatif :range(3, 0, -1)compte à l'envers. - ◆
forpeut aussi parcourir une chaîne caractère par caractère. - ◆
sum(liste),max(liste),min(liste)remplacent souvent une boucle écrite à la main.
6Vérifie ta compréhension
Question 1/3
Score 0
range(2, 6) produit…
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.