C15 : Exercices
C15.E1
Dans cet exercice, on travaillera avec le fichier csv donnant la population des communes des Haut-de-France en 2016, téléchargeable ici.
1) Écrire une fonction csv_to_listeDicos(nom_fichier: str)->dict qui prend un nom de fichier en paramètre et renvoie les données du fichier sous la forme d'une liste de dictionnaires.
2) Écrire une fonction listeDicos_to_listeAttributs(listeDicos: list)->list qui prend une liste de dictionnaires (correspondant à un fichier csv) en paramètre et renvoie la liste des attributs des données.
3) Écrire une fonction listeDicos_to_listeNomsSup50000(listeDicos:list)-list qui prend une liste de dictionnaires (correspondant à un fichier csv) en paramètre et renvoie la liste des noms des communes de plus de 50000 habitants.
C15.E2
Dans cet exercice, on travaillera avec le fichier csv "Population millésimée - Communes de la MEL" téléchargeable ici depuis le site des Données ouvertes de la Métropole Européenne de Lille (ou ici sur ostralo.net).
1) Écrire une fonction csv_to_dico(nom_fichier: str) -> dict qui prend un nom de fichier csv en paramètre et renvoie les données du fichier sous la forme d'une liste de dictionnaires.
2) Écrire une fonction attributs(liste_dicos: list) -> list qui prend une liste de dictionnaires (correspondant à un fichier csv) en paramètre et renvoie la liste des attributs des données.
Compléter le programme principal pour afficher cette liste pour le fichier étudié.
3) On souhaite isoler les données d'une année ciblée (les années disponibles dans le fichier sont 2012, 2013, 2014, 2015 et 2016).
3.1. Écrire une fonction donnees_annee(dico_donnees, annee) qui prend une liste de dictionnaires et une année en paramètres, et renvoie les données simplifiées (sous la forme d'une liste de dictionnaires) en ne gardant que les attributs "Nom de la commune" et "Population totale" pour l'année de recensement passée en paramètre.
3.2. Écrire une fonction qui renvoie la liste des communes de plus de 50 000 habitants pour une année donnée.
4) On souhaite isoler les données concernant la population d'une commune ciblée pour l'ensemble des années disponibles.
Écrire une fonction population_commune(dico_donnees, nom_commune) -> dict qui renvoie un dictionnaire ayant les années 2012, 2013, 2014, 2015 et 2016 comme clés et la population de la commune passée en paramètre comme valeurs pour chacune de ces années.
Ainsi, pour la commune "Haubourdin" la fonction doit renvoyer le dictionnaire suivant : {2012:14623, 2013:14684, 2014: 14777, 2015: 14935, 2016:15054}
C15.E3
Dans cet exercice, on s'intéresse aux Pokémons.
On dispose d'une base de données au format csv (en anglais, donc le séparateur est la virgule) de l'ensemble des Pokémons et de leurs caractéristiques.
1) Écrire la fonction qui permet d'extraire les données du fichier sous la forme d'une liste de dictionnaires.
2) Écrire une fonction qui renvoie la liste des attributs du fichier de données. Compléter le programme principal pour afficher cette liste.
3) Écrire une fonction qui renvoie la liste des noms des Pokémons dont l'attribut Attack est supérieur à une valeur passée en paramètre. Compléter le programme principal pour utiliser cette fonction avec une valeur donnée par l'utilisateur et afficher les éléments de la liste.
4) Écrire une fonction pour calculer et afficher la moyenne des points de vie (attribut HP) des Pokémons d'une génération (attribut Generation) passée en paramètre. Compléter le programme principal en utilisant cette fonction afin d'afficher les moyennes des points de vie des Pokémons pour chaque génération.