0% ont trouvé ce document utile (0 vote)
17 vues4 pages

Formation Python : Fonctions et POO

Ce document présente une série d'exercices de formation en Python, couvrant des thèmes tels que les fonctions, les structures de données, les modules, la gestion des fichiers et la programmation orientée objet. Les exercices incluent des tâches comme la manipulation de dictionnaires, le formatage de données, la lecture de fichiers, et la création de classes pour représenter des animaux et des cages dans un zoo. Chaque exercice est conçu pour renforcer les compétences pratiques en Python à travers des exemples concrets.

Transféré par

jamisiw322
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues4 pages

Formation Python : Fonctions et POO

Ce document présente une série d'exercices de formation en Python, couvrant des thèmes tels que les fonctions, les structures de données, les modules, la gestion des fichiers et la programmation orientée objet. Les exercices incluent des tâches comme la manipulation de dictionnaires, le formatage de données, la lecture de fichiers, et la création de classes pour représenter des animaux et des cages dans un zoo. Chaque exercice est conçu pour renforcer les compétences pratiques en Python à travers des exemples concrets.

Transféré par

jamisiw322
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP 2 Formation Python

Theme : fonctions, Structures de données, modules, fichiers, POO

Exercice 1 :

Pour cet exercice, créez d'abord un dict de n'importe quelle taille, dans lequel les clés et
les valeurs sont également uniques. (Une clé peut apparaître comme valeur, ou vice versa.)
Voici un exemple :
d = {'a':1, 'b':2, 'c':3}

Retournez le dict à l'envers, de telle sorte que les clés deviennent les valeurs et vice-versa.

Exercice 2 : formatage

Considérons la structure de données suivantes :

PEOPLE = [('Donald', 'Trump', 7.85), ('Vladimir', 'Putin', 3.626),('Jinping', 'Xi', 10.603)]

On veut le formater pour qu’il ressemble à cela :

Donald Trump 7.85


Vladimir Putin 3.62
Jinping Xi 10.60

Tous les noms doivent être écrit sous 10 caractères, les nombres sous 5 caractères max avec
2 chiffres après la virgule et un padding entre les colonnes

Exercice 3 : Lecture de fichier


Pour lire un fichier on utilise la fonction open(chemin_vers_le_fichier, mode d’ouverture).
La fonction open est mise dans un contexte avec le mot-clé with.

A l’intérieur du contexte on peut :

 Lire le fichier ligne par ligne

 On peut tout lire et mettre le contenu dans une structure de données


 On peut écrire dans un fichier avec write

Dans cet exercice, écrivez une fonction (get_final_line) qui prend un nom de fichier comme
Argument, un mode de lecture(‘r’ ou’rb’) et un entier representant le numero de la ligne à lire. La
fonction doit renvoyer le contenu de la ligne de ce fichier à l'écran.

Exercice 5 :
Ecrire une fonction qui lit le contenu de [Link] et retourne sous forme de dictionnaire
avec comme clés les usernames et valeurs les userid. Chaque ligne correspond à un
enregistrement utilisateur, divisé en champs séparés par des deux-points. Le premier champ
(index 0) est le nom d'utilisateur et le troisième champ (index 2) est le numéro
d'identification unique de l'utilisateur. (Dans le système d'où vient le fichier /etc/passwd,
nobody a l'ID -2, root a l'ID 0 et le démon a l'ID 1.) Pour nos besoins, vous pouvez ignorer
tous sauf ces deux champs.

Indications : regarder ce que font les methodes startswith, endswith, split, strip

Exercice 6 :

Ecrire une fonction qui prend en entrée un fichier et compte :


 Nombres de caractéres (espaces inclus)
 Nombre de mots
 Nombre de lignes
 Nombre de mots uniques (majuscule differents de minuscules)

Exercice 7:

Ecrire une fonction qui prend une liste de liste et le transforme en une liste unique.
Par exemple : [[2,3,4], [7,-1,5]] sera transforme en [2,3,4,7,-1,5].

Exercice 8 :

Ecrire une fonction qui retourne un dictionnaire dont les clés sont les lettres de l’alphabet
et les valeurs les nombres de 1 à 26. Le dictionnaire doit être écrit en comprehension.

Ecrire une fonction qui utilise le dictionnaire pour sommer les valeurs des lettres d’un mot
donné. Cette valeur était appelé gematria.

Ecrire une fonction qui prend en entrée une liste de mots fournis par l’utilisateur et
retourne une liste composée d’ensembles de mots ayant le même gematria.
Exercice 8 :

Nous représenterons les animaux comme des objets Python, chaque espèce étant définie
comme une classe distincte. Tous les objets d'une classe particulière auront la même espèce et
le même nombre de pattes, mais la couleur variera d'une instance à l'autre. On peut ainsi créer
un mouton blanc, également récupérer des informations sur l'animal à partir de l'objet en
récupérant ses attributs (espèce, couleur, nombre de pieds).
Si on convertit un animal en String, on pourra avoir tous les détails.
Nous allons supposer que notre zoo contient quatre types d'animaux différents : des moutons,
loups, serpents et perroquets.
Créez des classes pour chacun de ces types d'animaux, de sorte que nous puissions imprimer
chacun d'eux et obtenir un rapport sur leur couleur, leur espèce et nombre de pieds.
Utiliser __name__ pour creer une variable name qui portera le nom de chaque classe.

Ajouter une documentation de la classe en utilisant docstring

Exercice 9

Maintenant que nous avons créé des animaux, il est temps de les mettre en cage. Pour cet
exercice, créez une classe Cage, dans laquelle vous pouvez mettre un ou plusieurs animaux.
Lorsque vous créez une nouvelle cage, vous lui attribuez un numéro d'identification unique.
(L'unicité n'a pas besoin d'être imposé, mais cela vous aidera à faire la distinction entre les
cages.)
Vous allez puis pouvoir invoquer une methode add_animals sur la nouvelle cage, en passant
un nombre quelconque d'animaux qui sera mis dans la cage. Je souhaite également que vous
définissiez une méthode __repr__ afin que l'impression d'une cage n'imprime pas seulement
l'ID de la cage, mais également chacun des animaux qu'elle contient.

Exercice 10 : Enfin, le moment est venu de créer notre objet Zoo. Il contiendra des objets
cage, et ils contiendront à leur tour des animaux. Notre classe Zoo devra prendre en charge les
opérations suivantes :
 Étant donné un zoo z, nous devrions pouvoir imprimer toutes les cages (avec leurs
numéros d'identification) et les animaux à l'intérieur en appelant simplement print(z).
 Nous devrions pouvoir obtenir les animaux avec une couleur particulière en invoquant
la méthode z.animals_by_color. Par exemple, nous pouvons obtenir tous les animaux
noirs en appelant z.animals_by_color('noir'). Le résultat devrait être une liste d'objets
animaux.
 On devrait pouvoir obtenir les animaux avec un certain nombre de pattes en invoquant
la méthode z.animals_by_legs. Par exemple, nous pouvons obtenir tous les animaux à
quatre pattes en appelant z.animals_by_legs(4). Le résultat devrait être une liste
d'objets animaux.
 Enfin, nous avons un donateur potentiel à notre zoo qui souhaite fournir des
chaussettes à tous des animaux. Ainsi, nous devons pouvoir invoquer
z.number_of_legs() et obtenez un décompte du nombre total de pattes pour tous les
animaux de notre zoo.

Vous aimerez peut-être aussi