Académique Documents
Professionnel Documents
Culture Documents
class Date:
def __init__(self,j,m,a):
if j!=0 and j<=31 and isinstance(j, int):#verifier l'intervalle et que j est
un entier (NB: if 0<j<=31 and isinstance(j, int) ne marche pas ensemble)
self.jour=j
else:
raise Exception("erreur: jour invalide")#ajoute cette exception dans la
BaseException
if m!=0 and m<=12 and isinstance(m, int):
self.mois=m
else:
raise ("erreur : mois invalide")#meme comportement que la precedente mais
sans ajout d'exception
if isinstance(a, int):
self.annee=a
else:
raise ("erreur : année invalide")
def __repr__(self):
l=["janvier","fevrier","mars","avril","mai","juin","juillet","aout","septembre","
octobre","novembre","decembre"]
#print (self.jour," ",l[self.mois-1]," ",self.annee) #l'affichage soit
utiliser print dans la methode
forme=str(self.jour)+" "+l[self.mois-1]+" "+str(self.annee) #soit utiliser
variable str et la returner, puis utiliser print dans main.py
return forme
def __lt__(self):
print("entrer la date à comparer:")
#print("entrer le jour:")
#j=int(input())
#print("entrer le mois:")
#m=int(input())
#print("entrer l'année:")
#a=int(input())
#d2=Date(j,m,a) # soit cette méthode en decomposant les input
d2=Date(j=int(input("entrer le jour:")),m=int(input("entrer le
mois:")),a=int(input("entrer l'année:"))) # ou soit cette méthode plus courte
r=False
if d2.annee>self.annee: #1ere verification des années
r=True
elif d2.annee<self.annee:
r=False
else:
if d2.mois>self.mois:#2eme verification des mois
r=True
elif d2.mois<self.mois:
r=False
else:
if d2.jour>self.jour: #3eme verification des jours
r=True
elif d2.jour<self.jour:
r=False
else:
r=False
return r # resultat doit etre True or False selon l'enoncé de l'exercice
(Autre façon c est utiliser print)
Dans le fichier main.py
d1=Date(7,11,2020)
d1.__repr__()
print(d1.__repr__())
print(d1.__lt__())
exercice 2 :
class Personne:
def __init__(self,t,p,a):
self.taille=t
self.poids=p
self.age=a
def imc(self):
imc=self.poids/(self.taille**2)
return imc
def interpretation(self):
if self.imc()<=18.5:
print("insuffisance pondérale")
elif self.imc()>=30:
print("obésité")
else:
print("normal")
samy=Personne(1.71,50,39)
print(round(samy.imc(),2))#arrondir à deux décimales
samy.interpretation()
Exercice 3 :
class Client:
#Créer Une classe Compte caractérisée par son solde et un code qui est incrémenté lors de
sa création ainsi que son propriétaire qui représente un client.
class Compte:
def __init__(self,n,s,proprio):
self.numero=n
self.solde=s
self.proprio=Client(proprio.CIN,proprio.NOM,proprio.PRENOM,proprio.TEL)
#self.proprio=Client(input("Taper CIN"),input("Taper NOM"),input("Taper
PRENOM"),input("Taper TEL")) #si on veut creer un proprio en parallele avec la creation
de son compte
self.nbre_comptes=0
#Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la
classe (le numéro de compte et le solde sont en lecture seule)
def getNUMERO(self): #Propriété NUMERO de l'attribut NUMERO EN LECTURE SEULE
return self.NUMERO