Exercices#
Les données structurées et leur traitement
Mode d’emploi
-
Niveau : ★ échauffement, ★★ classique (niveau bac), ★★★ défi ; les coups de pouce et les corrigés se déplient sous chaque exercice.
-
sur papier à faire sur papier ; [ au tableur ] à réaliser au tableur (LibreOffice Calc, Excel ou Google Sheets).
-
Plusieurs exercices utilisent la table jeu (ventes en millions d’exemplaires) et la table studio ci-dessous.
-
Usage de l’IA, indiqué sur chaque exercice : aucune ; en appui (déboguer, reformuler, vérifier ; la réponse finale est écrite et comprise par vous) ; l’exercice s’appuie sur une réponse d’IA. Voir la charte d’usage de l’IA.
Table jeu :
| id | titre | studio | annee | genre | pegi | ventes |
|---|---|---|---|---|---|---|
| 1 | Minecraft | 2 | 2011 | bac à sable | 7 | 300 |
| 2 | GTA V | 3 | 2013 | action | 18 | 190 |
| 3 | Wii Sports | 1 | 2006 | sport | 7 | 83 |
| 4 | Mario Kart 8 | 1 | 2014 | course | 3 | 60 |
| 5 | Red Dead Redemption 2 | 3 | 2018 | action | 18 | 55 |
| 6 | Animal Crossing | 1 | 2020 | simulation | 3 | 45 |
Table studio :
| id | nom | pays |
|---|---|---|
| 1 | Nintendo | Japon |
| 2 | Mojang | Suède |
| 3 | Rockstar Games | États-Unis |
Données, données personnelles, métadonnées#
★ Exercice 1 — Donnée personnelle ou pas ? #
• essentiel
sur papier Pour chaque information, dire si c’est une donnée personnelle (elle permet d’identifier une personne) ou non. Justifier en trois mots.
-
l’adresse e-mail d’un élève ;
-
la température qu’il fait à Monaco aujourd’hui ;
-
le numéro de téléphone de votre voisin ;
-
le nombre d’habitants de la France ;
-
la position GPS enregistrée dans votre dernière photo.
Coup de pouce
Pour chaque information, demandez-vous : en la lisant, pourrait-on retrouver une personne précise, directement ou en la recoupant avec d’autres informations ?
Corrigé
Réponses aux questions fermées ; pour les questions ouvertes, des pistes attendues (d’autres réponses sont possibles).
Activité 1 — Chasse aux métadonnées
Les valeurs dépendent du fichier choisi (par exemple : \(2{,}4\) Mo, modifié le 12/09, format .jpg). En général, la taille et le format ne sont pas des données personnelles ; la date peut en devenir une quand elle est reliée à vous (elle dit quand vous avez travaillé ou pris la photo). D’autres métadonnées sont nettement personnelles : le nom de l’auteur d’un document, ou les coordonnées GPS d’une photo.
Activité 2 — Lire une table
-
7 descripteurs et 6 enregistrements (la ligne d’en-tête ne compte pas).
-
Mario Kart 8 :
ventesvaut60(millions d’exemplaires). -
Des nombres :
annee,pegi,ventes(ouid,studio) ; du texte :titre,genre.
Activité 3 — Data-détective : premières fouilles
-
Red Dead Redemption 2 est sorti en 2018.
-
pegi= 18 : GTA V et Red Dead Redemption 2. -
Par
anneecroissante : Wii Sports (2006), Minecraft (2011), GTA V (2013), Mario Kart 8 (2014), Red Dead Redemption 2 (2018), Animal Crossing (2020). -
Mario Kart 8 a
studio=1; dans la table studio, l’id1est Nintendo : le jeu est édité au Japon.
Activité 4 — Explorer un vrai jeu de données ouvert
Réponse personnelle. On attend : le titre exact du jeu de données et son format (le plus souvent CSV) ; le nombre de colonnes, lu sur la ligne d’en-tête, et trois noms de descripteurs ; une question précise du type « Quel est le plus grand…? » (tri décroissant, puis lecture de la première ligne) ou « Combien de…vérifient…? » (filtre, puis comptage des lignes).
-
Oui : une adresse e-mail identifie une personne.
-
Non : la température ne concerne personne en particulier.
-
Oui : un numéro de téléphone est rattaché à une personne.
-
Non : un chiffre global, aucune personne identifiée.
-
Oui : la position GPS révèle indirectement où était la personne (souvent son domicile).
★ Exercice 2 — Donnée ou métadonnée ? #
sur papier Vous prenez une photo. Classer en deux colonnes (donnée / métadonnée) : les pixels de l’image ; la date de la prise de vue ; le modèle de l’appareil ; le contenu visible (un chat) ; les coordonnées GPS ; le poids du fichier.
Coup de pouce
Relisez la définition d’une métadonnée dans le cours : est-ce le contenu de la photo lui-même, ou une information qui le décrit ?
Corrigé
-
Donnée (le contenu) : les pixels de l’image ; le chat visible sur la photo.
-
Métadonnée (ce qui décrit) : la date de prise de vue ; le modèle d’appareil ; les coordonnées GPS ; le poids du fichier.
Lire une table#
★ Exercice 3 — Vocabulaire de la table #
• essentiel
sur papier À l’aide de la table jeu :
-
On complète la table jeu : on ajoute un descripteur
plateforme, puis trois nouveaux jeux. Combien la table a-t-elle alors de descripteurs ? d’enregistrements ? -
Citer tous les descripteurs de la table ainsi complétée.
-
Donner la valeur du descripteur
genrepour l’enregistrement d’id5. -
Pourquoi le descripteur
titreferait-il un moins bon identifiant queid? (une phrase)
Coup de pouce
Un descripteur est une colonne, un enregistrement est une ligne (la ligne d’en-tête n’en est pas un). Pour la question 1, comptez d’abord sur la table actuelle, puis ajoutez ce qui est nouveau. Pour la question 4, relisez l’encadré du cours « Pourquoi un descripteur id ? ».
Corrigé
-
La table jeu a \(7\) descripteurs (colonnes) et \(6\) enregistrements (lignes, sans compter l’en-tête). Une colonne de plus et trois lignes de plus : \(7 + 1 = \mathbf{8}\) descripteurs et \(6 + 3 = \mathbf{9}\) enregistrements.
-
id,titre,studio,annee,genre,pegi,ventesetplateforme. -
L’
id5est Red Dead Redemption 2, de genreaction. -
Deux jeux pourraient porter le même titre (rééditions, versions) : le titre n’est pas forcément unique, contrairement à l’
id.
▷ Erreur fréquente. Compter la ligne d’en-tête comme un enregistrement et trouver \(10\) enregistrements : la première ligne donne les noms des descripteurs, elle ne décrit aucun jeu. Autre piège : ajouter le nouveau descripteur aux enregistrements (ou les nouveaux jeux aux descripteurs) ; une colonne de plus ne crée aucune ligne.
★★ Exercice 4 — Concevoir une table #
sur papier Le CDI du lycée veut enregistrer ses prêts de livres dans une table.
-
Proposer au moins quatre descripteurs pour cette table.
-
Lequel servira d’identifiant ? Pourquoi ne pas utiliser le nom de l’élève ?
-
Écrire deux enregistrements possibles (on pourra les présenter sous forme de tableau).
Coup de pouce
Un descripteur est une colonne, un enregistrement est une ligne (ici, un prêt). Un identifiant doit être unique : deux élèves peuvent-ils porter le même nom ? Un même élève peut-il emprunter plusieurs fois ?
Corrigé
-
Par exemple :
id_pret,titre_livre,nom_eleve,classe,date_pret,date_retour. -
L’identifiant est
id_pret, un numéro unique pour chaque prêt. Le nom de l’élève ne convient pas : deux élèves peuvent porter le même nom, et un même élève emprunte plusieurs livres (son nom revient sur plusieurs lignes). -
Par exemple :
id_pret titre_livre nom_eleve classe date_pret date_retour 1 Le Petit Prince Lina Rossi 2nde 3 02/10 16/10 2 Le Petit Prince Hugo Martin 2nde 1 17/10 31/10
Le format CSV#
★★ Exercice 5 — Lire du CSV #
• essentiel
sur papier On donne le début d’un fichier CSV public (jeux de société d’une médiathèque) :
titre;editeur;duree;age_min
Les Aventuriers du Rail;Days of Wonder;45;8
Dixit;Libellud;30;8
7 Wonders;Repos Prod;30;10
-
Quel est le séparateur utilisé ?
-
Combien y a-t-il de descripteurs ? d’enregistrements ?
-
Donner la valeur du descripteur
dureepour l’enregistrement Dixit. -
Ce fichier est-il en format ouvert ou fermé ? Citer un avantage de ce choix.
Coup de pouce
La première ligne est l’en-tête : elle donne les descripteurs, ce n’est pas un enregistrement. Le séparateur est le caractère qui revient entre deux valeurs.
Corrigé
-
Le séparateur est le point-virgule
;. -
4 descripteurs (
titre,editeur,duree,age_min) et 3 enregistrements. -
Pour Dixit,
dureevaut30. -
Format ouvert (c’est du texte). Avantage : lisible par n’importe quel logiciel, durable, et sans limite de nombre de lignes.
★★ Exercice 6 — Écrire du CSV #
sur papier Écrire les trois premières lignes (en-tête comprise) du fichier CSV correspondant à la table studio, en utilisant la virgule comme séparateur.
Coup de pouce
Une ligne d’en-tête avec les descripteurs, puis une ligne par enregistrement ; sur chaque ligne, les valeurs se suivent dans le même ordre, séparées par des virgules.
Corrigé
id,nom,pays
1,Nintendo,Japon
2,Mojang,Suede
(La 3e ligne est le 2e enregistrement. On écrit sans accent si l’encodage pose problème, ou en UTF-8.)
★★ Exercice 7 — Un CSV mal formé #
sur papier Ce fichier CSV contient trois erreurs qui gêneront un tableur. Les trouver, puis recopier le fichier corrigé (on inventera la valeur manquante).
nom;ville;age
Lina;Monaco;15
Hugo,Nice,16
Zoe;Menton
Tom;Beausoleil;quinze
Coup de pouce
Comparez chaque ligne à l’en-tête : même séparateur ? Même nombre de valeurs ? Dans une même colonne, des valeurs de même nature ?
Corrigé
Les trois erreurs :
-
ligne Hugo : le séparateur est la virgule au lieu du point-virgule (le tableur verra une seule valeur) ;
-
ligne Zoe : il manque une valeur (deux valeurs pour trois descripteurs) ;
-
ligne Tom : l’âge est écrit en lettres ; ce n’est plus un nombre, le tableur ne pourra ni trier ni calculer correctement sur la colonne
age.
Fichier corrigé (l’âge de Zoé est inventé) :
nom;ville;age
Lina;Monaco;15
Hugo;Nice;16
Zoe;Menton;15
Tom;Beausoleil;15
Rechercher, filtrer, trier#
★ Exercice 8 — Rechercher #
sur papier À l’aide de la table jeu :
-
Quel est le genre de Mario Kart 8 ?
-
Quel jeu s’est vendu à 300 millions d’exemplaires ?
Coup de pouce
Repérez d’abord la bonne ligne (celle du jeu, ou celle qui contient la valeur cherchée), puis lisez la valeur dans la bonne colonne.
Corrigé
-
Mario Kart 8 est de genre
course. -
Le jeu vendu à 300 millions est Minecraft.
★★ Exercice 9 — Filtrer #
• essentiel
sur papier Donner la liste des titres des jeux qui vérifient chaque critère :
-
genre
action; -
pegi\(\leqslant\) 7 (tout public) ; -
sortis après 2013 ET vendus à plus de 50 millions.
Coup de pouce
Pour le critère 3, un jeu n’est retenu que s’il vérifie les deux conditions à la fois : vérifiez-les l’une après l’autre, jeu par jeu.
Corrigé
-
genre
action: GTA V, Red Dead Redemption 2. -
pegi\(\leqslant\) 7 : Minecraft (7), Wii Sports (7), Mario Kart 8 (3), Animal Crossing (3). -
après 2013 et plus de 50 M : Mario Kart 8 (2014, 60) et Red Dead Redemption 2 (2018, 55). (Animal Crossing est écarté : 45 M seulement.)
▷ Erreur fréquente. Retenir GTA V : il est sorti en 2013, pas après 2013. Autre piège : lire « ET » comme « OU », ce qui ferait aussi retenir Minecraft, GTA V, Wii Sports et Animal Crossing.
★★ Exercice 10 — Trier #
• essentiel
sur papier
-
Ranger les jeux par
ventesdécroissantes (donner la liste des titres). -
Ranger les jeux par
titre, dans l’ordre alphabétique. -
Filtrer puis trier : les jeux
pegi= 18, du plus récent au plus ancien.
Coup de pouce
Question 3 : on ne garde d’abord que les jeux de pegi 18, puis on range ces seuls jeux selon l’année.
Corrigé
-
ventes décroissantes : Minecraft (300), GTA V (190), Wii Sports (83), Mario Kart 8 (60), Red Dead Redemption 2 (55), Animal Crossing (45).
-
ordre alphabétique des titres : Animal Crossing, GTA V, Mario Kart 8, Minecraft, Red Dead Redemption 2, Wii Sports. (Mario Kart 8 passe avant Minecraft : à première lettre égale, on compare la deuxième, et « a » vient avant « i ».)
-
pegi= 18, du plus récent au plus ancien : Red Dead Redemption 2 (2018), GTA V (2013).
★★ Exercice 11 — Calculer sur une colonne #
sur papier À l’aide de la table jeu :
-
Combien de jeux ont un
pegide 18 ? -
Calculer la moyenne des ventes des jeux de genre
action. -
Quelle est l’année de sortie du jeu le plus ancien ? De quel jeu s’agit-il ?
Coup de pouce
Filtrez d’abord les enregistrements concernés, puis faites le calcul sur eux seuls. Une moyenne est une somme divisée par le nombre de valeurs.
Corrigé
-
Deux jeux ont un
pegide 18 : GTA V et Red Dead Redemption 2. -
Jeux d’action : \(190\) et \(55\) ; moyenne \(= (190 + 55) \div 2 = \mathbf{122{,}5}\) millions.
▷ Erreur fréquente. Diviser par \(6\) (le nombre total de jeux) au lieu de \(2\) : on doit d’abord filtrer les jeux d’action, puis faire la moyenne sur eux seuls.
-
Le jeu le plus ancien est sorti en 2006 : c’est Wii Sports.
★★★ Exercice 12 — Croiser deux tables #
≈ 15 min
sur papier En utilisant les tables jeu et studio (reliées par le numéro de studio) :
-
Quel studio (nom) a édité Minecraft ? Dans quel pays ?
-
Donner les titres de tous les jeux édités par un studio japonais.
-
Défi : quel pays totalise le plus grand nombre de
ventescumulées ?
Coup de pouce
Le numéro de la colonne studio de la table jeu est l’id d’une ligne de la table studio : c’est lui qui relie les deux tables.
Coup de pouce 2 (début de solution)
Question 3 : additionnez les ventes des jeux de chaque studio (studio \(1\) : Wii Sports, Mario Kart 8, Animal Crossing ; puis studio \(2\), puis studio \(3\)), puis cherchez le pays de chaque studio.
Corrigé
-
Minecraft a
studio=2: édité par Mojang, un studio de Suède. -
Studio japonais = Nintendo (
id1). Ses jeux : Wii Sports, Mario Kart 8, Animal Crossing. -
Ventes cumulées par pays :
-
Suède (Mojang) : \(300\) ;
-
États-Unis (Rockstar) : \(190 + 55 = 245\) ;
-
Japon (Nintendo) : \(83 + 60 + 45 = 188\).
Le pays au plus grand total est la Suède (\(300\) M), à elle seule grâce à Minecraft.
-
★★★ Exercice 13 — Pourquoi deux tables ? #
≈ 10 min
sur papier Un élève propose de supprimer la table studio : dans la table jeu, il remplacerait le numéro de studio par deux descripteurs, nom_studio et pays_studio.
-
Combien de fois faudrait-il alors écrire « Nintendo » et « Japon » ?
-
Le studio Rockstar Games change de nom. Combien de cases faut-il modifier avec une seule table ? Et avec les deux tables actuelles ?
-
Que risque-t-on si l’on oublie de modifier l’une des cases ?
-
On ajoute un nouveau jeu de Mojang. Que suffit-il d’écrire, pour le studio, dans la table jeu actuelle ?
Coup de pouce
Imaginez la grande table : sur chaque ligne de jeu, on recopierait le nom et le pays du studio. Combien de jeux chaque studio a-t-il édités ?
Coup de pouce 2 (début de solution)
Avec deux tables, « Nintendo » n’est écrit qu’une fois, dans la table studio ; la table jeu ne contient que son numéro, \(1\). Comptez de la même façon pour Rockstar Games.
Corrigé
-
Nintendo a édité trois jeux : « Nintendo » et « Japon » seraient écrits trois fois chacun (une fois par jeu), au lieu d’une seule fois dans la table studio.
-
Rockstar Games a édité deux jeux. Avec une seule table : deux cases à modifier ; avec les deux tables : une seule case (dans la table studio).
-
Si l’on oublie une case, les données deviennent incohérentes : le même studio apparaît sous deux noms différents, et une recherche ou un total par studio sera faux.
-
Il suffit d’écrire son numéro de studio, \(2\) ; le nom et le pays se retrouvent en croisant avec la table studio. Ranger chaque information à un seul endroit évite les répétitions et les erreurs.
Au tableur#
★★ Exercice 14 — Fouiller au tableur #
• essentiel
[ au tableur ] On fournit le fichier jeux.csv (la table jeu, séparateur ;, encodage UTF-8). L’ouvrir dans un tableur, puis :
-
Trier le tableau par
ventesdécroissantes. Quel jeu apparaît en tête ? -
Activer le filtre automatique et n’afficher que les jeux de genre
action. -
Dans une cellule vide, écrire la formule
=SOMME(...)qui calcule le total des ventes, puis=MOYENNE(...)pour la moyenne. -
Bonus : créer un graphique en barres des ventes par jeu.
Coup de pouce
Dans une formule, une plage de cellules s’écrit de la première à la dernière cellule, séparées par deux-points (par exemple B2:B10). Repérez d’abord la colonne et les lignes des ventes.
Corrigé
-
Tri par
ventesdécroissantes : Minecraft apparaît en tête. -
Le filtre automatique sur
genre=actionn’affiche que GTA V et Red Dead Redemption 2. -
Les ventes sont en colonne
G, lignes 2 à 7 :=SOMME(G2:G7)donne 733 ;=MOYENNE(G2:G7)donne environ 122,2. -
Graphique en barres : une barre par jeu, dont la hauteur est le nombre de ventes (Minecraft largement en tête).
★★ Exercice 15 — Lire des formules #
sur papier La table jeu est recopiée dans un tableur : les en-têtes sont en ligne 1, les six enregistrements en lignes 2 à 7, et les descripteurs dans les colonnes A (id) à G (ventes), dans l’ordre de la table.
-
Quelle valeur affichent les formules
=MAX(G2:G7),=MIN(D2:D7)et=SOMME(G3:G4)? -
Écrire la formule qui calcule la moyenne des
pegi, puis donner son résultat (arrondi au dixième).
Coup de pouce
Écrivez la lettre de chaque colonne au-dessus de la table (A pour id, B pour titre…) et le numéro de ligne devant chaque enregistrement (la ligne 1 est l’en-tête).
Corrigé
-
=MAX(G2:G7)affiche 300 (les ventes de Minecraft) ;=MIN(D2:D7)affiche 2006 (l’année la plus ancienne) ;=SOMME(G3:G4)additionne les ventes des lignes 3 et 4 (GTA V et Wii Sports) : \(190 + 83 = \mathbf{273}\). -
Les
pegisont en colonne F :=MOYENNE(F2:F7), qui donne \((7 + 18 + 7 + 3 + 18 + 3) \div 6 = 56 \div 6 \approx \mathbf{9{,}3}\).
Open data, vie privée et nuage#
★ Exercice 16 — Les données ouvertes #
sur papier
-
Qu’est-ce que l’open data ? Citer un site où en trouver.
-
Pourquoi les données ouvertes sont-elles souvent publiées en CSV plutôt qu’en
.xlsx?
Coup de pouce
Relisez l’encadré du cours sur l’open data et la règle « Format ouvert / format fermé ».
Corrigé
-
L’open data désigne des données publiques librement réutilisables, par exemple sur
data.gouv.fr(ou le portail open data de Monaco). -
Le CSV est un format ouvert (texte) : lisible par tous les logiciels, durable et sans limite de lignes, alors que le
.xlsxest un format de tableur bien plus complexe, conçu pour un type de logiciel (et l’ancien.xlsétait même propriétaire, avec une limite de 65 536 lignes).
★ Exercice 17 — Mes données, mes droits #
• essentiel
sur papier
-
Que protège le RGPD ? Citer un droit qu’il vous accorde sur vos données.
-
Stocker ses photos « dans le nuage » : donner un avantage et un inconvénient.
-
Les « 3 V » du big data : les nommer.
-
Monaco n’est pas dans l’Union européenne. Quelle loi protège les données personnelles d’un lycéen qui réside à Monaco, et quelle autorité contrôle son application ?
Coup de pouce
Toutes les réponses sont dans la dernière section du cours : la règle sur le RGPD, l’encadré sur Monaco, la partie sur le nuage et celle sur le big data.
Corrigé
-
Le RGPD protège les données personnelles. Droits : accéder à ses données, les corriger, les faire effacer (droit à l’oubli), donner (ou refuser) son consentement.
-
Nuage : avantage = accès partout et partage facile ; inconvénient = données chez un tiers (souvent à l’étranger), besoin d’une connexion, question de confidentialité.
-
Les « 3 V » : Volume, Vélocité, Variété.
-
À Monaco, c’est la loi n° 1.565 du 3 décembre 2024 relative à la protection des données personnelles (mêmes grands droits que le RGPD) ; l’autorité de contrôle est l’APDP (Autorité de protection des données personnelles), qui a succédé à la CCIN. (En France : RGPD et loi Informatique et libertés, autorité CNIL.)
★★★ Exercice 18 — Défi — data-détective sur l’open data #
≈ 30 min
[ au tableur ] Sur data.gouv.fr (ou le portail open data de Monaco), télécharger un jeu de données en CSV qui vous intéresse, l’ouvrir au tableur, et répondre à une question de votre choix en utilisant un tri ou un filtre. Rédiger : la question posée, l’opération faite, la réponse trouvée.
Coup de pouce
Choisissez un jeu de données de petite taille (quelques centaines de lignes) et une question à laquelle un tri ou un filtre répond directement (« quel est le plus grand…? », « combien de…? »).
Coup de pouce 2 (début de solution)
Exemple de démarche : « Quelle commune des Alpes-Maritimes compte le plus d’habitants ? » \(\to\) filtre sur le département, tri décroissant sur la population, lecture de la première ligne.
Corrigé
Réponse ouverte : on attend une question claire, l’opération réalisée (tri ou filtre) et la réponse lue dans les données. (Exemple : « Quelle commune a la plus forte population ? » \(\rightarrow\) tri décroissant sur la colonne population \(\rightarrow\) on lit la première ligne.)
Critiquer une réponse d’IA#
★★ Exercice 19 — Le jeu le plus récent, selon un assistant #
sur papier Un élève a donné la table jeu et la table studio à un assistant d’IA et lui a demandé : « Quel est le jeu le plus récent, et quel studio l’a édité ? » Voici la réponse obtenue :
Pour trouver le jeu le plus récent, on trie la table jeu selon le descripteur
ventes, en ordre décroissant : le premier enregistrement est alors Minecraft. Pour connaître son studio, on lit sa valeur pour le descripteurstudio, qui vaut 2, et on croise avec la table studio : l’enregistrement d’identifiant 2 est Mojang, en Suède. Le jeu le plus récent est donc Minecraft, édité par Mojang.
-
La réponse est-elle correcte ? Refaire l’opération sur la table et comparer.
-
Localiser l’erreur et donner la bonne réponse.
Coup de pouce
Relisez la question posée : quel descripteur faut-il trier pour trouver le jeu « le plus récent » ? Comparez avec ce qu’a fait l’assistant.
-
Quelle vérification simple, faite avant de faire confiance à cette réponse, aurait suffi à détecter l’erreur ?
Corrigé
-
Non. Le croisement est bien fait (studio 2 \(=\) Mojang, Suède) et Minecraft est bien le premier jeu par ventes, mais sa valeur pour
anneeest \(2011\) : quatre jeux de la table sont plus récents. -
L’erreur : le tri porte sur la mauvaise colonne. « Le plus récent » se lit sur le descripteur
annee(tri décroissant), pas surventes. Bonne réponse : Animal Crossing (\(2020\)), studio \(1\) \(=\) Nintendo, au Japon. -
Relire la question et vérifier que le descripteur trié est celui qu’elle nomme (« récent » \(\to\)
annee) ; puis contrôler la réponse sur la table : l’année de Minecraft (\(2011\)) n’est visiblement pas la plus grande.
Python au service du thème#
★★ Exercice 20 — Python au service du thème — filtrer avec une fonction #
sur papier Un tableur filtre une table ligne par ligne : pour chaque enregistrement, le critère est vrai ou faux. En Python, un critère s’écrit donc comme une fonction qui renvoie un booléen. On prend celui du cours : « action ET sorti après 2015 ».
-
Compléter la fonction suivante, qui renvoie
Truesi le jeu vérifie le critère etFalsesinon.Coup de pouce
Une fonction peut renvoyer directement le résultat d’une comparaison :
return pegi == 18renvoieTrueouFalse. Relisez dans le chapitre Les bases de Python comment on compare deux valeurs (et pas comment on les affecte), puis comment on relie deux conditions.def garder(genre, annee): return ... -
Sans machine, écrire ce qu’affichent les trois lignes suivantes, puis vérifier sur machine. Que deviendraient ces trois affichages si l’on remplaçait
andparordans la fonction ?print(garder("action", 2013)) # GTA V print(garder("action", 2018)) # Red Dead Redemption 2 print(garder("simulation", 2020)) # Animal Crossing -
Écrire une fonction
succes(annee, ventes)qui traduit le critère 3 de l’exercice « Filtrer » (sortis après 2013 et vendus à plus de \(50\) millions). La tester sur Mario Kart 8, GTA V et Animal Crossing.
Corrigé
1. Le critère relie deux comparaisons par and ; la fonction renvoie directement le booléen obtenu :
def garder(genre, annee):
return genre == "action" and annee > 2015
2. GTA V est un jeu d’action, mais sorti en \(2013\) : une des deux conditions est fausse. Red Dead Redemption 2 vérifie les deux. Animal Crossing est récent, mais ce n’est pas un jeu d’action. Le programme affiche :
False
True
False
On retrouve le résultat du cours : seul Red Dead Redemption 2 est gardé. Avec or, il suffit qu’une des deux conditions soit vraie : les trois lignes affichent True (GTA V est un jeu d’action ; Animal Crossing est sorti après 2015). Sur toute la table, le filtre « action OU après 2015 » garde GTA V, Red Dead Redemption 2 et Animal Crossing.
3. Même méthode, avec les descripteurs annee et ventes :
def succes(annee, ventes):
return annee > 2013 and ventes > 50
print(succes(2014, 60)) # Mario Kart 8 : True
print(succes(2013, 190)) # GTA V : False
print(succes(2020, 45)) # Animal Crossing : False
Comme à l’exercice « Filtrer » : GTA V est sorti en 2013, pas après, et Animal Crossing s’est vendu à moins de \(50\) millions.
▷ Erreur fréquente. Écrire genre = "action" avec un seul signe égal : = range une valeur dans une variable, il ne compare pas, et Python signale une erreur de syntaxe (SyntaxError). Pour comparer, il faut le double égal ==.