Listes Et Parcours De Donnees

SNT - Seconde

Listes et parcours de données

Ce qu'il faut comprendre

En programmation, on a souvent besoin de manipuler plusieurs valeurs à la fois. Par exemple, les notes d'un élève, les températures d'une semaine, ou les noms de tes amis. Pour cela, on utilise une liste : c'est une sorte de boîte qui peut contenir plusieurs éléments. Ensuite, on peut parcourir cette liste, c'est-à-dire examiner chaque élément un par un, pour faire des calculs, vérifier des conditions, ou écrire les données dans un fichier.

Les listes sont très utiles en SNT, notamment pour traiter des données provenant de fichiers CSV (par exemple, un tableau de notes ou de relevés météo).

Les notions essentielles

Variable

Une variable est un espace mémoire qui stocke une valeur. En Python, on crée une variable en lui donnant un nom et une valeur :

note = 15

Condition

Une condition permet d'exécuter du code seulement si une expression est vraie. On utilise if, elif, else.

if note >= 10:
    print("Admis")
else:
    print("Refusé")

Boucle

Une boucle permet de répéter des instructions. La boucle for est parfaite pour parcourir une liste.

for element in liste:
    print(element)

Liste

Une liste est une collection ordonnée d'éléments, notée entre crochets [].

notes = [12, 15, 8, 19]

On peut accéder à un élément par son indice (qui commence à 0) : notes[0] vaut 12.

Fichier CSV

Un fichier CSV (Comma-Separated Values) est un fichier texte où les données sont séparées par des virgules (ou un autre séparateur). On peut le lire avec Python pour récupérer des listes.

Algorithme

Un algorithme est une suite d'instructions pour résoudre un problème. Par exemple, calculer la moyenne d'une liste de notes.

Méthode

1. Créer une liste

ma_liste = [valeur1, valeur2, valeur3]

2. Parcourir une liste avec une boucle for

for element in ma_liste:
    # faire quelque chose avec element

3. Utiliser une condition à l'intérieur de la boucle

for note in notes:
    if note >= 10:
        print(note, "est une note >= 10")

4. Lire un fichier CSV

import csv
with open('fichier.csv', newline='') as f:
    lecteur = csv.reader(f)
    for ligne in lecteur:
        print(ligne)  # ligne est une liste de chaînes

5. Écrire dans un fichier CSV

with open('sortie.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['Nom', 'Note'])
    writer.writerow(['Alice', 15])

Exemple corrigé

Problème : On a un fichier notes.csv contenant les notes de 5 élèves (une note par ligne). On veut lire ce fichier, calculer la moyenne, et afficher les notes supérieures ou égales à 10.

Fichier notes.csv :

12
8
15
10
6

Code Python :

import csv

# 1. Lire les notes dans une liste
notes = []
with open('notes.csv', newline='') as f:
    lecteur = csv.reader(f)
    for ligne in lecteur:
        # ligne est une liste d'une seule chaîne, ex: ['12']
        note = int(ligne[0])  # convertir en entier
        notes.append(note)

# 2. Calculer la moyenne
somme = 0
for note in notes:
    somme = somme + note
moyenne = somme / len(notes)
print("Moyenne :", moyenne)

# 3. Afficher les notes >= 10
print("Notes >= 10 :")
for note in notes:
    if note >= 10:
        print(note)

Explication :

  • On crée une liste vide notes.
  • On ouvre le fichier CSV avec csv.reader. Chaque ligne est une liste de chaînes. Ici, une seule colonne, donc ligne[0] est la note sous forme de texte.
  • On convertit en entier avec int() et on ajoute à la liste avec append().
  • On calcule la somme en parcourant la liste, puis on divise par le nombre d'éléments (len(notes)).
  • On parcourt à nouveau la liste et on affiche les notes qui satisfont la condition note >= 10.

Résultat affiché :

Moyenne : 10.2
Notes >= 10 :
12
15
10

Erreurs fréquentes

  • Oublier l'indice 0 : notes[1] donne le deuxième élément, pas le premier. Le premier est notes[0].
  • Confondre = et == : = est pour affecter, == pour comparer. Dans une condition, on utilise ==.
  • Ne pas convertir les types : Quand on lit un fichier CSV, les données sont des chaînes. Il faut les convertir en entier ou flottant avec int() ou float() avant de faire des calculs.
  • Oublier d'importer csv : Pour utiliser les fichiers CSV, il faut écrire import csv en haut du programme.
  • Indentation : En Python, les blocs (dans une boucle ou une condition) sont délimités par l'indentation. Il faut être cohérent (4 espaces par niveau).

À retenir

  • Une liste se note [ ] et peut contenir plusieurs valeurs.
  • On parcourt une liste avec for element in liste:.
  • On peut combiner boucle et condition pour filtrer des éléments.
  • Un fichier CSV se lit avec csv.reader et s'écrit avec csv.writer.
  • Toujours convertir les données lues en nombres si nécessaire.
  • L'indentation est cruciale en Python.

Pour s'entraîner

Pour vérifier que tu as bien compris, rends-toi sur les exercices et quiz de la fiche « Listes et parcours de données » sur AlloSeconde. Tu y trouveras des défis pour créer des listes, les parcourir, et manipuler des fichiers CSV. Bon courage !

Cours conforme au programme officiel de Seconde • 877 mots