Chapitre 6 : Collections, recherche, filtre et calcul
Traiter des données : les listes
Un capteur ne fait pas qu'une mesure : il en relève des dizaines, que l'on range dans une collection. Savoir parcourir une collection pour y chercher, filtrer et calculer, c'est la base du traitement de données. Tu vas réutiliser tout ce que tu as appris : variables, conditions, boucles.
Au programme de SNT : Traitement de données structurées. Réaliser des opérations de recherche, filtre, tri ou calcul sur des données structurées (thème « Les données structurées et leur traitement »).
Une collection de données
En programmation, une collection simple est une liste : une suite de valeurs rangées dans l'ordre. Chaque valeur a un numéro, que l'on utilise pour la retrouver. Le bloc « mesures du capteur » te donne la liste des mesures de l'exercice.
| Numéro | Mesure (°C) |
|---|---|
| 1 | 4 |
| 2 | 8 |
| 3 | 15 |
| 4 | 16 |
mesures = [4, 8, 15, 16]
print(len(mesures))
print(mesures[0])Parcourir une collection
Pour traiter toutes les valeurs, on utilise le bloc « pour chaque élément ... dans la liste » : la variable de la boucle prend, tour à tour, chaque valeur. On n'a pas besoin de connaître la taille de la liste.
for m in mesures:
print(m)Rechercher, filtrer, calculer
Presque tous les traitements de données suivent l'un de ces trois motifs : une variable que l'on prépare avant la boucle, une boucle qui parcourt les valeurs, une variable que l'on met à jour (parfois sous condition).
| Je veux ... | Avant la boucle | Dans la boucle |
|---|---|---|
| faire un total | total = 0 | total = total + m |
| compter selon un critère | nombre = 0 | si m > 20 : nombre = nombre + 1 |
| trouver le plus grand | maxi = la première valeur | si m > maxi : maxi = m |
nombre = 0
for m in mesures:
if m > 20:
nombre = nombre + 1
print(nombre)À toi de jouer : Exercice guidé
Affiche le nombre de mesures relevées par le capteur. Ton programme doit marcher quelle que soit la taille de la liste, même vide.