Date
Dans cet exercice, on souhaite représenter une date sous la forme d'une classe.
Question 1 - À l'aide du diagramme ci-dessus, écrire une classe Date
qui permet de représenter une date. Dans le constructeur, on vérifiera la bonne cohérence des dates à l'aide d'assertions.
Question 2 - Écrire les différents accesseurs et mutateurs permettant d'accéder ou de modifier les attributs de la classe.
Question 3 - Dans un autre ficher main.py
, importer la classe Date
et instancier 2 dates.
Question 4 - Tester vos différentes méthodes à l'aide des deux dates créées précédemment.
Question 5 - Écrire une méthode affichage_court
. Cette méthode retourne une chaine de caractères au format 15/08/2023
représentant une date.
Question 6 - Écrire une méthode affichage_long
. Cette méthode retourne une chaine de caractères au format 15 août 2023
représentant une date.
Question 7 - Réécrire la méthode __eq__
qui prend en paramètre un objet de type Date
. Cette fonction renvoie un booléen et permet de tester si la date courante (self
) est égale à la date passée en paramètre.
Pour tester cette fonction, il suffit d'utiliser l'opérateur ==
entre deux objets de type Date
.
Question 8 - Sur le même principe que la question précédente, réécrire la méthode __lt__
qui prend en paramètre un objet de type Date
. Cette fonction renvoie un booléen et permet de tester si la date courante (self
) est avant la date passé en paramètre.
Fraction
Dans cet exercice, on souhaite représenter une fraction sous la forme d'une classe.
Question 1 - À l'aide du diagramme ci-dessus, écrire une classe Fraction
qui permet de représenter une fraction.
Question 2 - Écrire les différents accesseurs et mutateurs permettant d'accéder ou de modifier les attributs de la classe.
Question 3 - Réécrire la fonction __str__
. Cette fonction retourne une chaine de caractère composée des attributs de la classe.
Question 4 - Dans un autre fichier main.py
, importer la classe Fraction
et instancier des fractions afin de tester vos méthodes.
Question 5 - Écrire une méthode valeur_approchee
avec un entier en paramètre. Cette méthode retourne une valeur approché de la fraction avec un nombre de chiffres après la virgule passé en paramètre.
round()
.Question 6 - Écrire une méthode simplification
. Cette fonction simplifie au maximum la fraction courante. Si la fraction est déjà simplifiée au maximum, on retournera False
, sinon True
.
Pour simplifier une fraction, vous pouvez trouver le PGCD entre le numérateur et le dénominateur. En python, il faut utiliser la fonction
gcd()
dans le modulemath
.
Question 7 - Réécrire la méthode __add__
qui prend en paramètre un objet de type Fraction
. Cette fonction renvoie le résultat de l'addition de deux fractions sous la forme d'un objet Fraction
.
Pour tester cette fonction, il suffit d'utiliser l'opérateur +
entre deux objets de type Fraction
.
Question 8 - Sur le même principe, réécrire la fonction __mul__
qui prend en paramètre un objet de type Fraction
. Cette fonction renvoie le résultat de la multiplication de deux fractions sous la forme d'un objet Fraction
.
Pour tester cette fonction, il suffit d'utiliser l'opérateur *
entre deux objets de type Fraction
.