Correction Pokedex
Mini - Projet
Pour remplir le pokedex de Sacha, on modélise les informations sur les Pokemons de la façon suivante :
liste_pokemons = {
'Bulbizarre' : (70, 7),
'Herbizarre' : (100,13),
'Abo' : (200, 7),
'Pikachu' : (40, 6)
}
Les tuples représentent la taille en centimètres, ainsi que le poids en kilogramme du Pokemon.
Questions :
- Quel est le type de liste_pokemons ?
-
Il s'agit d'un dictionnaire, dont les clés sont des chaines de caractères représentant les nomsdes Pokemons, et les valeurs des tuples de deux entiers correspondant à la taille en cm et au poids en kg
-
Quelle instruction permet d'ajouter à cette structure de données le Pokemon Goupil qui mesure 60 cm et pèse 10 kg ?
- liste_pokemons["Goupix"] = (60, 10)
On donne le code suivant :
def le_plus_grand(pokemons):
grand = None
taille_max = None
for (nom,(taille, poids)) in pokemons.items():
if taille_max < taille :
taille_max = taille
grand = nom
return(grand,taille_max)
- Quelle est la valeur de le_plus_grand(liste_pokemons) ?
-
Il s'agira du nom et de la taille du Pokemon le plus grand rencontré dans le dictionnaire (en cas d'égalité, il s'agira du premier Pokémon rencontré) sous la forme d'un tuple
-
Écrire le code d'une fonction le_plus_leger(liste_pokemons) qui prend des Pokémons en paramètre et renvoie un tuple correspondant au nom ainsi qu'au poids de Pokémon le plus léger.
def le_plus_leger(liste_pokemons):
leger = None
poids_min = 10000
for (nom, (taille, poids)) in liste_pokemons.items():
if poids_min > poids
poids_min = poids
leger = nom
return (leger, poids_min)
- Écrire une fonction taille qui prend en paramère un dictionnaire de Pokémons ainsi que le nom d'un Pokémon, et qui renvoie la taille de ce Pokémon.
def taille(liste_pokemons, nom):
if nom in liste_pokemons:
return liste_pokemons[nom][0]
else:
return None
Pas de correction pour les fonctionnalités supplémentaites, il faudra les trouver par vous mêmes ;)