Durée 1h
Tout document autorisé
Contacts
Définir en Python une classe Utilisateur, possédant 3 attributs nom, prenom et email de type chaîne de caractères.
Afin de définir la civilité de l’utilisateur (M ou Mme) , ajouter un attribut Un attribut est un identifiant (un nom) décrivant une information stockée dans une base.
Les attributs correspondent aux colonnes si la relation à laquelle il appartient est représentée sous forme de table. civilite , de type entier (1 pour « Mme » et 2 pour « M »).
Rajouter une méthode __repr__() qui devra permettre d’afficher les informations sur l’utilisateur sous la forme : « M Robert LEFEVRE (bob.smith@gmail.con) »
Les chaines « M » et « Mme » seront définies en tant qu’attributs de classe.
Grille
On souhaite définir grâce à une classe Grille, une grille de mot croisés.
Définir une classe Grille possédant l’attribut privé _grille de type liste de listes de caractères. Cette structure doit être construite lors de la construction de l’objet, en passant au constructeur deux entiers strictement positifs w et h (largeur et hauteur).
Les case contiennent par défaut le caractère « -« .
Ajouter une méthode __repr__() de sorte que la grille puisse être affichée de manière lisible.
Ainsi une grille vide de 3×4 cases s’affichera :
- - -
- - -
- - -
- - -
Ajouter deux méthodes placer_h(mot, l, c) et placer_v(mot, l, c) permettant de placer horizontalement et verticalement le mot mot à partir de la case située à la ligne l et la colonne c .
Ainsi, après avoir exécuté le code suivant :
g = Grille(3,4)
g.placer_h("nsi", 1, 0)
g.placer_v("info", 0, 0)
print(g)
La grille devient :
i - -
n s i
f - -
o - -
Fraction
Définir une classe Fraction pour représenter les nombres rationnels. Elle possèdera deux attributs num et den , de type entier, désignant le numérateur et le dénominateur de la fraction.
Ajouter une méthode __repr__() de sorte d’afficher une fraction sous la forme suivante :
5
--
12
Ajouter deux méthodes __mul__() et __add__() qui permettront de réaliser les opérations de multiplication et d’addition entre deux fractions.
Ces méthodes devront renvoyer un nouvel objet de type Fraction .
Exemple :
f1 = Fraction(3,4)
f2 = Fraction(1,3)
print(f1*f2)
print(f1+f2)
doit afficher :
3
--
12
13
--
12