Boucles En Python Snt

SNT - Seconde

Boucles en Python SNT

Ce qu'il faut comprendre

Imagine que tu doives écrire 100 fois la même phrase sur une feuille. C'est long et ennuyeux, non ? En Python, les boucles permettent de répéter des instructions automatiquement, sans que tu aies à les écrire plusieurs fois. Elles sont très utiles pour parcourir une liste, traiter les lignes d'un fichier CSV, ou répéter une action jusqu'à ce qu'une condition soit remplie.

En SNT, on utilise souvent les boucles pour analyser des données (comme des notes, des températures, etc.) stockées dans des listes ou des fichiers CSV. Les boucles te font gagner du temps et rendent ton code plus clair.

Les notions essentielles

La boucle for

La boucle for sert à répéter une action pour chaque élément d'une séquence (liste, chaîne de caractères, etc.).

Syntaxe :

for variable in sequence:
    instruction(s)
  • variable prend successivement la valeur de chaque élément de sequence.
  • Les instructions à répéter sont indentées (décalées de 4 espaces ou 1 tabulation).

Exemple :

notes = [12, 15, 8, 19]
for note in notes:
    print(note)

Ce code affiche chaque note une par une.

La boucle while

La boucle while répète des instructions tant qu'une condition est vraie.

Syntaxe :

while condition:
    instruction(s)
  • La condition est une expression booléenne (vraie ou fausse).
  • Il faut que la condition devienne fausse à un moment, sinon la boucle tourne indéfiniment (boucle infinie).

Exemple :

i = 0
while i < 5:
    print(i)
    i = i + 1

Ce code affiche les nombres de 0 à 4.

La fonction range()

range(n) génère une séquence de nombres de 0 à n-1. Très utile avec for pour répéter un nombre fixe de fois.

Exemple :

for i in range(5):
    print("Bonjour")

Affiche "Bonjour" 5 fois.

Parcourir une liste avec for

On peut aussi utiliser range(len(liste)) pour parcourir une liste par indices.

Exemple :

notes = [12, 15, 8, 19]
for i in range(len(notes)):
    print("Note", i+1, ":", notes[i])

Lire un fichier CSV avec une boucle

Un fichier CSV (Comma-Separated Values) contient des données séparées par des virgules. On peut le lire ligne par ligne avec une boucle.

Exemple :

import csv
with open("notes.csv", "r") as fichier:
    lecteur = csv.reader(fichier)
    for ligne in lecteur:
        print(ligne)

Chaque ligne est une liste de valeurs.

Méthode

  1. Identifier le besoin : As-tu besoin de répéter une action pour chaque élément d'une liste (boucle for) ou jusqu'à ce qu'une condition change (boucle while) ?
  2. Choisir la boucle :
    • Si tu connais le nombre d'itérations ou si tu veux parcourir une séquence → for.
    • Si tu ne sais pas combien de fois répéter, mais tu as une condition d'arrêt → while.
  3. Écrire la structure :
    • Pour for : for element in sequence:
    • Pour while : while condition:
  4. Indenter les instructions à répéter.
  5. Tester : Vérifie que la boucle s'arrête bien (pas de boucle infinie).

Exemple corrigé

Énoncé : On a une liste de températures en degrés Celsius : temperatures = [12, 15, 8, 19, 22]. Écrire un programme qui affiche chaque température et sa conversion en degrés Fahrenheit (formule : F = C * 9/5 + 32).

Correction :

temperatures = [12, 15, 8, 19, 22]
for celsius in temperatures:
    fahrenheit = celsius * 9/5 + 32
    print(celsius, "°C = ", fahrenheit, "°F")

Explication :

  • On utilise une boucle for pour parcourir chaque élément de la liste temperatures.
  • À chaque itération, la variable celsius prend la valeur d'une température.
  • On calcule fahrenheit avec la formule.
  • On affiche le résultat.

Variante avec range :

for i in range(len(temperatures)):
    fahrenheit = temperatures[i] * 9/5 + 32
    print(temperatures[i], "°C = ", fahrenheit, "°F")

Erreurs fréquentes

  • Oublier l'indentation : Les instructions dans la boucle doivent être indentées. Sinon, Python génère une erreur IndentationError.
  • Boucle infinie avec while : Si la condition ne devient jamais fausse, la boucle tourne sans fin. Exemple : while True: sans break ou modification de la condition.
  • Confondre for et while : Utilise for quand tu parcours une séquence, while quand tu attends une condition.
  • Modifier une liste en la parcourant : Évite d'ajouter ou supprimer des éléments d'une liste pendant que tu la parcours avec for, cela peut causer des comportements inattendus.

À retenir

  • Les boucles permettent de répéter des instructions.
  • for parcourt une séquence (liste, chaîne, etc.).
  • while répète tant qu'une condition est vraie.
  • range(n) génère les entiers de 0 à n-1.
  • Toujours indenter le bloc d'instructions.
  • Pour lire un fichier CSV, utilise csv.reader et une boucle for.

Pour s'entraîner

Maintenant que tu as compris le cours, entraîne-toi avec les exercices et quiz disponibles sur AlloSeconde. Tu peux aussi consulter la fiche de révision pour mémoriser les points clés.

Cours conforme au programme officiel de Seconde • 823 mots