On s'intéresse dans cet exercice aux données décrivant différents animaux (source).
Chaque animal est décrit par les attributs suivants :
Attributs
Description
Type Python
Indice
nom
Son nom
str
0
poil
A-t-il des poils ?
bool
1
plume
A-t-il des plumes ?
bool
2
oeuf
Pond-il des œufs ?
bool
3
lait
Allaite-t-il ses petits ?
bool
4
volant
Peut-il voler ?
bool
5
aquatique
Vit-il dans l'eau ?
bool
6
prédateur
Est-ce un prédateur ?
bool
7
dents
A-t-il des dents ?
bool
8
vertébré
Est-ce un vertébré ?
bool
9
air
Respire-t-il dans l'air ?
bool
10
venimeux
Est-il venimeux ?
bool
11
nageoires
A-t-il des nageoires ?
bool
12
pattes
Combien a-t-il de pattes ?
int
13
queue
A-t-il une queue ?
bool
14
domestique
Est-ce un animal domestique ?
bool
15
taille_chat
Est-il de la taille d'un chat ?
bool
16
Ces données ont été importées dans une liste Python nommée animaux. Chacun des éléments de cette liste est une liste contenant les informations décrivant un animal. On affiche ci-dessous le premier élément de la liste animaux :
🐍 Console Python
>>> animaux[0]# l'ensemble des informations['tortue', False, False, True, False, False, True, False, False, True, True, False, False, 4, True, True, True]>>> animaux[0][0]# le nom de l'animal'tortue'>>> animaux[0][1]# cet animal a-t-il des poils ?False>>> animaux[0][6]# cet animal vit-il dans l'eau ?True
Comme on peut le voir ci-dessus, cet élément décrit la tortue (valeur à l'indice 0). La tortue n'a pas de poils (valeur False à l'indice 1) et vit dans l'eau (valeur True à l'indice 6).
Le but de l'exercice est d'effectuer des requêtes sur cette liste afin de sélectionner certains éléments (certains animaux). On utilise pour ce faire les listes en compréhension.
L'instruction ci-dessous permet par exemple de sélectionner les noms (attribut nom à l'indice 0) des animaux volants (attribut volant à l'indice 5):
Pour les attributs de type booléen, il est inutile de tester l'égalité de la valeur à True ou False. Par exemple if animal[5] sélectionne directement les animaux volants, ifnotanimal[5] ceux qui ne volent pas.
Il est aussi possible de compter les résultats en faisant par exemple (nombre d'animaux aquatiques sans pattes) :
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)