[Tutor] Simple bank account oriented object
Marco Rompré
marcodrompre at gmail.com
Mon Apr 5 22:31:30 CEST 2010
Hi im doin a programmin course at university and in one on my exercise i
have to do that
I had to define a class CompteBancaire(CompteBancaire is bankaccount in
french), that would allow me to create objects Compte1, Compte2,etc.
The following methods need to be defined
- depot(somme) would allow me to add cash to my account
balance
- retrait(somme) would allow me to withdraw some cash from my
account
- ajouterInterest() would allow me to add interest
- affiche() would allow me to display the account
owner and his account balance
the retrait(somme) method is not supposed to let the account balance being
negative.
3.2
Create a sub-class to CompteBancaire and name it CompteEtudiant. Each
CompteEtudiant (student account) should have a $1000CAD credit line. Write a
builder or constructor for this new class. Surcharge the retrait(somme)
method to make sure that the student can withdraw to their limit.
Test the class
Here's my code for now this is 3.1and 3.2 in the same code
Please help me i think im on the right track but i need some guidance in the
dark. lol
Thank you tutors
#Exercice 3,2 - Gestion d'un compte bancaire pour étudiant avec marge de
crédit disponible de 1000$CDN
class CompteBancaire:
"définition d'un compte bancaire"
def __init__(self,nom,solde,interet): #Nous allons instancier et
initialiser les objets à la classe
self.nom, self.solde, self.interet = nom,solde,interet
def depot(self,somme=0): #Méthode pour additionner
les dépôts au compte
self.solde=self.solde+somme
def retrait(self,somme=0): #Méthode pour soustraire les
retraits au compte
if self.nom == 'Sandon':
if self.solde-somme<0:
print "Les fonds sont insuffisants. Essayez un autre montant
pour votre retrait!"
else:
self.solde=self.solde-somme
elif self.nom =='Étudiant': #Vérifie s'il s'agit d'un
compte étudiant
if self.solde - somme < -self.margeCre: # Vérifie si le
retrait dépasse la marge de crédit maximum
print "Désolé, votre retrait dépasse la marge de crédit
autorisé"
else: # sinon déuit le montant
retirer de la marge de crédit
self.margeCre = self.solde - somme
self.solde = 0
def calculInteret(self,calculInteret=0): #Méthode qui calcule les
intérêts et le solde résiduel
self.interet=self.solde*calculInteret/100
self.solde=(self.solde*calculInteret/100)+self.solde
def affiche_solde(self): #Méthode qui affiche le
solde et le montant d'intérêt accumulé
print "Le solde du compte bancaire de %s est de %d $CAD"
%(self.nom,self.solde)
print "Vous avez récolté %d $CDN en intérêt"%(self.interet)
#
######################
# création de la gestion d'un compte étudiant autorisant une marge de crédit
de (1 000$)
class CompteEtudiant(CompteBancaire):
"définition du compte bancaire pour étudiant dérivé du compte bancaire
standard"
def __init__(self, nom='', solde=0, margeCre=0):
CompteBancaire.__init__(self, nom='Nom', solde=0, interet=0)
self.nom, self.solde, self.margeCre = nom, solde, margeCre
def affiche_solde(self, somme=0): #Méthode constructeur qui
redéfini la fonction affiche_solde pour le compte étudiant
print "%s--Votre solde bancaire est de %d $CAD"
%(self.nom,self.solde)
print "Le solde de votre marge de crédit est de %d $CAD"
%(self.margeCre)
##############################################################
#jeux d'essai avec des valeurs fictives
if __name__=='__main__': #Référence au corps principal du programme.
compte1 = CompteBancaire('Sandon',800,0) #Essai avec un solde de
800$, un retrait de 1200$ et des intérêts de 10%
compte1.depot(0)
compte1.retrait(1200)
compte1.calculInteret(10)
compte1.affiche_solde()
compte2 = CompteEtudiant('Étudiant',800,1000)
compte2.retrait(1100)
compte2.affiche_solde()
############################################################
On Wed, Mar 31, 2010 at 4:39 PM, Lie Ryan <lie.1296 at gmail.com> wrote:
On 04/01/2010 12:35 AM, Marco Rompré wrote:
> > what's wrong in this code??? if I want it to do what i describe in my
> > message.
>
> What happens when you run it? You did not even write that in your
> message. And please reply-all to the list.
>
When I run it, it gives me this:
>>>
Les fonds sont insuffisants. Essayez un autre montant pour votre retrait!
(Try to witthdraw 1200 with a balance of 880$) This is good!
Le solde du compte bancaire de Sandon est de 880 $CAD (This is fine too)
Vous avez récolté 80 $CDN en intérêt (This too)
Étudiant--Votre solde bancaire est de 0 $CAD (Trying to withdraw 1100$ with
a cash balance of 800 plus a credit line of 1000$)
Le solde de votre marge de crédit est de -300 $CAD (It would be supposed to
say that my credit line balance is 700= 1000-300 knowing that this 300 was
the amount missing from mu cash balance)
Would you please help me???
Ocram the newbie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100405/051cc093/attachment-0001.html>
More information about the Tutor
mailing list