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

Exemple
1notes = [12, 15, 9, 18]2total = 03 4for note in notes:5    total = total + note6 7moyenne = total / len(notes)8print(total, moyenne)   # 54 13.5

Un accumulateur pour la somme, puis une division par le nombre d'éléments.

Chercher sans tout parcourir

Exemple
1codes = ["1111", "1234", "9999"]2 3for code in codes:4    if code == "1234":5        print("Code trouvé")6        break

break 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 + 1

Pourquoi : 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 + p

Pourquoi : 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.
  • ◆for peut 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.