Information

Author(s) Maxime Postaire
Deadline Καμία προθεσμία
Submission limit No limitation

Συνδεθείτε

EXAMEN_Moyen_Calendrier

Dans cette question, nous vous demandons de modéliser la gestion d’un calendrier grégorien. Pour cela, vous allez devoir créer une classe Date. Chaque instance de Date contient trois variables privées entières jour, mois et annee. De plus, elle est également constituée des méthodes suivantes :

Première méthode :

def __init__(self, jour, mois, annee)

Cette méthode est le constructeur de la classe Date. Elle initialise la date à un jour, un mois et une année, tous spécifiés en valeurs entières conformes au décompte du calendrier grégorien – une période de 28, 29, 30 ou 31 jours (voir tableau ci-dessous) forme un mois, et une période de douze mois forme une année. Nous supposons que les valeurs d’initialisation ne sont pas aberrantes. Il ne faudra donc pas les vérifier.

janvier 31 avril 30 juillet 31 octobre 31
février 28/29 mai 31 août 31 novembre 30
mars 31 juin 30 septembre 30 décembre 31

Deuxième méthode :

def hier(self)

Cette méthode permet de reculer d’un jour dans le calendrier une fois la date initialisée. Cette méthode ne doit rien afficher, elle doit uniquement modifier des valeurs de variables de l’objet de type Date.

Exemple : Si la date est le 01/01/2018, la méthode hier passera cette date au 31/12/2017.

!!! Prenez bien en compte les cas particuliers de changement de mois et d’année ainsi que le cas d’une année bissextile !!!

Rappel: Une année bissextile est une année à 366 jours (29 février compris) si elle est divisible par 4 et non divisible par 100 ou bien si elle est divisible par 400.

Getters :

def getJour(self)
def getMois(self)
def getAnnee(self)

Ces méthodes sont utilisées pour accéder à leurs variables d'instance respectives.


Nous vous demandons donc d'écrire la classe Date en fonction de ces instructions. N'oubliez pas d'indiquer clairement class Date:, ainsi que tout ce qui se trouverait avant ou après la déclaration de la classe.


Implémentation :