Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Chercher dans une table

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

35 minutes

Le coach ne veut pas tout lire

Le club de foot du lycée a sept joueurs dans une table. Le coach demande : « Qui sont les attaquants ? Qui a marqué au moins 5 buts ? »

Il ne veut pas relire toute la table. Il veut seulement les lignes qui l’intéressent.

Dans cette leçon, tu apprends à choisir des lignes, puis des colonnes.

Mots-clés

MotCe que ça veut direExemple
FiltrerGarder seulement les lignes qui répondent à une condition.Seulement les attaquants
ConditionUne question dont la réponse est vrai ou faux.joueur["buts"] >= 5
EnregistrementUne ligne de la table, écrite comme un dictionnaire.{"nom": "Léa", "buts": 9}
ChampUne case d’un enregistrement. On l’appelle par son nom.joueur["nom"]
ProjeterGarder seulement certaines colonnes.Seulement les noms
Liste videUne liste sans rien dedans. Elle s’écrit [].Aucun joueur ne répond

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Filtrer : parcourir, tester, garder

Pour filtrer, on fait trois gestes. On prend chaque ligne. On teste la condition. Si elle est vraie, on garde la ligne.

On garde avec append dans une nouvelle liste, qui commence vide.

Chaque ligne est un enregistrement. On lit un champ avec son nom : joueur["poste"].

À toi : garder les attaquants

Code: python
joueurs = [
    {"nom": "Léa", "poste": "attaquant", "age": 17, "buts": 9},
    {"nom": "Karim", "poste": "défenseur", "age": 16, "buts": 1},
    {"nom": "Sofia", "poste": "attaquant", "age": 18, "buts": 12},
    {"nom": "Hugo", "poste": "gardien", "age": 17, "buts": 0},
    {"nom": "Inès", "poste": "milieu", "age": 16, "buts": 4},
    {"nom": "Tom", "poste": "attaquant", "age": 18, "buts": 2},
    {"nom": "Nina", "poste": "milieu", "age": 17, "buts": 6},
]

attaquants = []
for joueur in joueurs:
    if joueur["poste"] == "attaquant":
        attaquants.append(joueur)

print(len(attaquants), "attaquants :")
for joueur in attaquants:
    print(joueur["nom"], joueur["buts"])

# Garde les milieux à la place.

Exemple travaillé : les attaquants

JoueurPostePoste = attaquant ?Gardé ?
LéaattaquantVraiOui
KarimdéfenseurFauxNon
SofiaattaquantVraiOui
HugogardienFauxNon
InèsmilieuFauxNon
TomattaquantVraiOui
NinamilieuFauxNon

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une condition, ou deux

Une condition peut comparer un nombre : joueur["buts"] >= 5 veut dire au moins 5 buts.

On peut en réunir deux. Avec and, les deux doivent être vraies. Avec or, une seule suffit.

Pour deux conditions avec and, on obtient moins de lignes. Avec or, on en obtient plus.

À toi : deux conditions

Code: python
joueurs = [
    {"nom": "Léa", "poste": "attaquant", "age": 17, "buts": 9},
    {"nom": "Karim", "poste": "défenseur", "age": 16, "buts": 1},
    {"nom": "Sofia", "poste": "attaquant", "age": 18, "buts": 12},
    {"nom": "Hugo", "poste": "gardien", "age": 17, "buts": 0},
    {"nom": "Inès", "poste": "milieu", "age": 16, "buts": 4},
    {"nom": "Tom", "poste": "attaquant", "age": 18, "buts": 2},
    {"nom": "Nina", "poste": "milieu", "age": 17, "buts": 6},
]

buteurs = []
for joueur in joueurs:
    if joueur["buts"] >= 5:
        buteurs.append(joueur["nom"])
print("Au moins 5 buts :", buteurs)

for joueur in joueurs:
    if joueur["poste"] == "attaquant" and joueur["age"] == 18:
        print(joueur["nom"], "est attaquant et a 18 ans")

# Remplace and par or et compte les lignes.

Exemple travaillé : et, ou

JoueurAttaquant ?5 buts ou plus ?Les deux (and)Au moins un (or)
LéaOuiOuiOuiOui
KarimNonNonNonNon
SofiaOuiOuiOuiOui
HugoNonNonNonNon
InèsNonNonNonNon
TomOuiNonNonOui
NinaNonOuiNonOui

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Contrôle rapide

À toi de jouer

Contrôle rapide

4 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

La leçon continue

8 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.