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