Exercice 1 : class Date: def __init__(self,j,m,a): if j!=0 and j<=31 and isinst
Exercice 1 : 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 from Date import * 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") from Personne import * samy=Personne(1.71,50,39) print(round(samy.imc(),2))#arrondir à deux décimales samy.interpretation() Exercice 3 : class Client: #Définir un constructeur permettant d’initialiser tous les attributs. def __init__(self,c,n,p,t):#Le constructeur d'initialisation de tous les attributs self.CIN=c self.NOM=n self.PRENOM=p self.TEL=t #Définir à l’aide des propriétés les méthodes d’accès aux différents attributs de la classe. def getCIN(self): #Propriété CIN de l'attribut CIN return self.CIN def setCIN(self,c): self.CIN=c def getNOM(self): #Propriété NOM de l'attribut NOM return self.NOM def setNOM(self,n): self.NOM=n def getPRENOM(self): #Propriété PRENOM de l'attribut PRENOM return self.PRENOM def setPRENOM(self,p): self.PRENOM=p def getTEL(self): #Propriété TEL de l'attribut TEL return self.TEL def setTEL(self,t): self.TEL=t #Définir un constructeur permettant d’initialiser le CIN, le nom et le prénom. def setATTRIBUTS(self,c,n,p): self.CIN=c self.NOM=n self.PRENOM=p #Définir la méthode Afficher ( ) permettant d’afficher les informations du Client en cours. def afficher(self): print("CIN",self.CIN,"NOM",self.NOM,"PRENOM",self.PRENOM,"TELEPHONE",self.TEL) #Une méthode permettant de Crediter() le compte, prenant une somme en paramètre. def crediter(self,somme): self.solde=self.solde+somme return self.solde #Une méthode permettant de Crediter() le compte, prenant une somme et un compte en paramètres, créditant le compte et débitant le compte passé en paramètres. def crediter(self,somme,autre_compte): self.solde+=somme autre_compte.solde-=somme return True #Une méthode permettant de Debiter() le compte, prenant une somme en paramètre def debiter(self,somme): self solde somme from Client import * #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 def getSOLDE(self): #Propriété SOLDE de l'attribut SOLDE EN LECTURE SEULE return self.solde #Propriété propri de l'attribut proprio EN LECTURE et ECRITURE def getPROPRIO(self): return self.proprio def setPROPRIO(self,proprio): p=Client(proprio.CIN,proprio.NOM,proprio.PRENOM,proprio.TEL) self.proprio=p #Définir un constructeur permettant de créer un compte en indiquant son propriétaire. def compte(self,p): pr=Client(p.CIN,p.NOM,p.PRENOM,p.TEL) self.proprio=pr self.nbre_comptes+=1 return True uploads/Geographie/ corrige-exos-poo.pdf
Documents similaires








-
28
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 17, 2021
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 0.0391MB