LyCode Lab

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éroMesure (°C)
14
28
315
416
Créer une liste et lire ses informations
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.

Afficher chaque mesure
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 boucleDans la boucle
faire un totaltotal = 0total = total + m
compter selon un critèrenombre = 0si m > 20 : nombre = nombre + 1
trouver le plus grandmaxi = la première valeursi m > maxi : maxi = m
Compter les mesures supérieures à 20
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.

Passer à l'énigme : Les relevés du capteur