exercice python : Gestion d'un Zoo
Tu es responsable de la gestion des animaux dans un zoo. Le zoo possède différents enclos organisés par types d'animaux, par régime alimentaire, et par région d'origine. Tu dois créer plusieurs scripts Python pour gérer cette collection, en utilisant des listes, des tuples, des ranges, et des tranches.
Exercice 1 : Manipulation de Listes
Création de la liste des animaux :
animaux = [
"Lion", "Tigre", "Girafe", "Zèbre", "Éléphant",
"Rhinocéros", "Ours", "Panda", "Kangourou", "Chimpanzé"
]
Question 1 : Ajoute deux nouveaux animaux à la fin de la liste. Ajoute "Lémurien" et "Pingouin".
Question 2 : Insère un animal au début de la liste. Insère "Loup".
Question 3 : Supprime le dernier animal de la liste.
Question 4 : Supprime un animal spécifique de la liste (par exemple, "Lion") en utilisant son nom.
Question 5 : Affiche le nombre total d'animaux dans la liste.
Accès aux éléments et tranches de liste :
Question 6 : Affiche le premier animal de la liste.
Question 7 : Affiche les trois derniers animaux de la liste.
Question 8 : Affiche les animaux situés aux positions 2 à 5.
Question 9 : Inverse l'ordre des animaux dans la liste et affiche la nouvelle liste.
Exercice 2 : Utilisation des Tuples
Création d'un tuple de types d'alimentation :
alimentation = ("Herbivore", "Carnivore", "Omnivore", "Insectivore", "Frugivore")
Question 1 : Tente de modifier un élément du tuple pour voir ce qui se passe (explique le résultat).
Question 2 : Utilise l'opérateur de décomposition (*) pour affecter les types de régimes alimentaires du tuple à des variables individuelles.
Question 3 : Vérifie si un type d'alimentation spécifique (par exemple, "Herbivore") est dans le tuple.
Exercice 3 : Utilisation de Ranges
Numérotation des animaux :
Question 1 : Utilise la fonction range
pour générer une liste des numéros de 1 à 10.
Question 2 : Associe chaque animal à son numéro correspondant en utilisant la fonction zip
et affiche les paires numéro-animal.
Question 3 : Génère un range de 10 nombres pairs commençant à 2.
Question 4 : Génère un range des 10 premiers nombres impairs.
Exercice 4 : Tranches de listes
Gestion de sous-listes :
Question 1 : Crée une sous-liste contenant les 5 premiers animaux de la liste animaux
.
Question 2 : Crée une sous-liste contenant les 5 derniers animaux de la liste animaux
.
Question 3 : Crée une nouvelle liste qui contient un animal sur deux à partir de la liste animaux
.
Question 4 : Crée une sous-liste contenant les animaux aux positions impaires dans la liste originale.
Exercice 5 : Application Avancée
Organisation des animaux par région d'origine :
animaux_regions = [
("Girafe", "Afrique"),
("Panda", "Asie"),
("Kangourou", "Australie"),
("Éléphant", "Afrique"),
("Tigre", "Asie"),
("Loup", "Europe")
]
Question 1 : Trie cette liste par région d'origine (utilise la fonction sorted
avec un lambda).
Question 2 : Affiche tous les animaux provenant d'une région spécifique (par exemple, "Afrique").
Question 3 : Crée une liste des noms des animaux provenant d'une région spécifique (par exemple, "Asie") en utilisant une compréhension de liste.
Exercice 6 : Combinaisons de listes et tuples
Création de catégories d'animaux :
categories = [
("Mammifères", ["Lion", "Tigre", "Éléphant"]),
("Oiseaux", ["Aigle", "Perroquet"]),
("Reptiles", ["Crocodile", "Serpent"]),
("Amphibiens", ["Grenouille", "Triton"])
]
Question 1 : Ajoute une nouvelle catégorie "Insectes" avec les animaux ["Fourmi", "Papillon"].
Question 2 : Affiche tous les animaux pour une catégorie spécifique (par exemple, "Mammifères").
Question 3 : Affiche la liste des catégories disponibles.
Bonus : Combinaison de listes, tuples, ranges et tranches
Créer une fonction enclos_partiel
:
Cette fonction prendra comme arguments un tuple de catégories, une liste d'animaux, et un range correspondant aux numéros d'enclos. La fonction retournera une liste d'animaux qui appartiennent à une catégorie spécifique et qui se trouvent dans une plage de numéros d'enclos donnée.
Question 1 : Implémente la fonction enclos_partiel
.
Question 2 : Teste la fonction avec différentes catégories et plages de numéros d'enclos.