Exercice 2 - POO Python
- Créer une classe Python nommée CompteBancaire qui représente un compte bancaire, ayant pour attributs : numeroCompte (type numérique ) , nom (nom du propriétaire du compte du type chaîne), & solde.
- Créer un constructeur ayant comme paramètres : numeroCompte, nom, solde.
- Créer une méthode Versement() qui gère les versements.
- Créer une méthode Retrait() qui gère les retraits.
- Créer une méthode Agios() permettant d’appliquer les agios à un pourcentage de 5 % du solde
- Créer une méthode afficher() permettant d’afficher les détails sur le compte
- Donner le code complet de la classe CompteBancaire.
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#coding: utf-8 class CompteBancaire: def __init__(self, idNumber, nomPrenom, solde): self.idNumber = idNumber self.nomPrenom = nomPrenom self.solde = solde def versement(self, argent): self.solde = self.solde + argent def retrait(self, argent): if(self.solde < argent): print(" Impossible d'effectuer l'opération. Solde insuffisant !") else: self.solde = self.solde - argent def agios(self): self.solde =self.solde*95/100 def afficher(self): print("Compte numéro : " , self.idNumber) print("Nom & Prénom : ", self.nomPrenom) print(" Solde : ", self.solde , " DH ") print("Sauf erreur ou omisssion ! ") monCompte = CompteBancaire(16168891, " Bouvier David", 22300) monCompte.versement(1500) monCompte.retrait(24000) #monCompte.agios() monCompte.afficher() |
Younes Derfoufi
CRMEF OUJDA
#class
import time
import os
class CompteBancaire:
def __init__(self,numeroCompte, nom, solde):
self._numerocompte=numeroCompte
self._nom=nom
self._solde=solde
def Versement(self,versement):
self._solde+=versement
return “Votre solde est {}”.format(self._solde)
def Retrait(self,retrait):
if retrait>self._solde:
return “votre solde n’est pas sufisant”
else:
self._solde-=retrait
return “Votre solde reste est {}”.format(self._solde)
def Agios(self):
self._solde-=self._solde*(5/100)
def _getnumcompte(self):
if self._numerocompte > 0 :
return self._numerocompte
else:
return “le numero de compte pas valide!!!”
def _setnumcompte(self,new_numcompte):
if new_numcompte > 0:
self._numerocompte=new_numcompte
return self._numerocompte
else:
return “le numero compte et existe ou pas valide”
def _getnom(self):
if type(self._nom) == str:
return self._nom
else:
return “le nom pas correct!!!!”
def _setnom(self,new_nom):
if type(new_nom) == str:
self._nom=new_nom
return self._nom
else:
return “le nom pas correct!!!!”
def _getsolde(self):
if self._solde >= 0:
return self._solde
else:
return “vous êtes débité de {}”.format(self._solde)
def _setsolde(self,new_sold):
if new_sold > 0:
self._solde=new_sold
return self._solde
else:
“ce solde pas valide !!!!”
name=property(_getnom,_setnom)
compte=property(_getnumcompte,_setnumcompte)
sold=property(_getsolde,_setsolde)
def Afficher(self):
return “Nom complet : {}\n” \
“Numero de compte : {}\n” \
“Solde : {}”.format(self.name,self.compte,self.sold)
#program principale:
C1=CompteBancaire(int(input(“Entrer votre numero compte :”)),input(“entrer votre nom complet :”),float(input(“entrer votre solde :”)))
i=1
while i != 4:
print(“wait a moment…..”)
time.sleep(10)
os.system(“cls”)
choix=int(input(“choisi le service:\n1-Versement\n2-Retrait\n3-Afficher\n4-Exit\nEntrer votre choix :”))
os.system(“cls”)
if choix == 1:
C1.Versement(float(input(“entrer votre versement :”)))
elif choix == 2:
C1.Retrait(float(input(“Entrer votre retrait :”)))
C1.Agios()
elif choix == 3:
print(C1.Afficher())
elif choix == 4:
quit()
i=choix