2017-08-01 2 views
0

Salut, je reçois une erreur d'attribut sur mon code et comme je ne suis qu'un programmeur débutant, je ne sais pas où je me suis trompé.Python3 Attribut Erreur int l'objet n'a pas d'attribut

import sys 

class BankAccount(object): 

    def __init__(self, balance = 0): 
     self.balance = balance 

    def withdraw(self, other): 
     if other.balance <= self.balance and self.balance > 0: 
     self.balance = self.balance - other.balance 
     else: 
     return('Insufucient funds available') 

    def deposit(self, other): 
     if self.balance > 0: 
     self.balance = self.balance + other.balance 

    def __str__(self): 
     return('Your current balance is: {0:.2f} euro'.format(self.balance)) 

Il ne cesse de dire AttributeError: 'int' object has no attribute 'balance'

Toute aide serait grandement appréciée.

+0

Comment utilisez-vous votre 'BankAccount'? – aristotll

+0

deposit(): ajoute un montant (fourni en argument) au solde withdraw(): soustrait un montant (fourni comme argument) du solde (ou dit 'Insufficient funds available' si le retrait de ce montant entraînerait le solde pour devenir négatif) – catherine

+0

Je me demande si ce montant est une instance 'int' plutôt que' BankAccount'. – aristotll

Répondre

0

Remplacez b1.withdraw(1) par b1.withdraw(BankAccount(1)) et toutes les choses identiques.

Le paramètre other doit être une instance BankAccount qui a un attribut balance, plutôt qu'un int.