pokedex.csv.
csv ont la particularité d'avoir différente représentation suivant le logiciel avec lequel il est ouvert.
Ouvrir le fichier pokedex.csv à l'aide de Sublime Text.
Utiliser les touches Ctrl + O ou par glisser déposer.
Ouvrir le fichier pokedex.csv à l'aide de Libreoffice CALC.
pokemon.csv et créer une liste nommée
pokedex dont chaque élément est un dictionnaire ayant pour clés les données de la première
ligne du fichier pokemon.csv et pour valeurs le contenu d'une ligne.
import csv
with open('pokemon.csv','r') as f:
pokedex = [dict(pokemon) for pokemon in csv.DictReader(f)]
pokemon.py et
rajouter les instructions nécessaires pour répondre aux questions ci-dessous : pokedex ? pokemon.csv ?
pokedex(en prenant par exemple le
première élément de la liste)keys() pour obtenir les clésprint() pour afficher le résultat
gen_4 qui contient tous les pokémons de génération 4
gen_4pokedex et pour chaque élément tester si la clé
Generation est égale à "4"append)
l'élement à la liste gen_4len()) low_pok qui contient les noms (Name) de tous les pokémons dont les
points d'attaques (Attack) sont strictement inférieur à 20
Attack.
low_pokpokedex et pour chaque élément tester si la clé
Attack est strictement inférieur à 20 (C'est ici qu'on utilisera la conversion de la valeur de la clé Attack en int append)
la valeur de la clé Name à la liste low_pokint( ) hard_flying qui contient les ids (id) de tous les pokémons
dont les points de vie (Health Points) sont supérieur ou égal à 50 et qui possède le type
(Type) Flying. and .
hard_flyingpokedex et pour chaque élément tester si la valeur de la clé
Health Points est supérieur ou égal à 50 (ici aussi on utilisera la conversion de la valeur de la clé Health Points en int) and ) la valeur de la clé Type est égale à Flying.
Name à la liste hard_flyinghard_flying ?
split sur les chaines de caractères.
typespokedex et pour chaque élément à partir de la valeur de la clé Type créer une liste tmp contenant le.s type.s du pokémontmp et pour chaque élément vérifier s'il n'est pas déjà dans la liste.append )
"Ghost Flying".split(" ")
# Renvoie ["Ghost", "Flying"]
simpsons = [{'age': 39, 'name': 'Homer'},{'age': 10, 'name': 'Bart'}]
# pour trier la liste de dictionnaire, il faut avoir définie une
# fonction qui renvoie la valeur utilisée pour le trie
def get_age(dic):
return dic["age"]
# Aprés on peut utiliser une fonction de trie telle que sort, sorted, ...
# en lui donnant comme parametre optionnel la fonction.
simpsons.sort(key=get_age)
# [{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}]
int( )