Dans cet exercice vous devez créer une classe Compte qui permette de déposer et retirer de l'argent de votre compte bancaire.

Les instances créées grâce à la classe Compte doivent posséder trois attributs :

  • nom

  • numero

  • balance

Cela permet ainsi de créer un compte pour John, avec un numéro de compte de 12345 et un dépot initial de 20,000€ :

compte_john = Compte(nom="John", numero="12345", balance=20000)

Nous déposons ensuite 3,000€ supplémentaires grâce à la méthode deposer.

Pour finir, nous retirons 200€ grâce à la méthode retirer.

Vous devez donc créer la classe Compte et toutes les méthodes nécessaires pour que le code fonctionne.

L'attribut balance du compte de John doit contenir à la fin du script 22,800€ (20,000 + 3,000 - 200).

code Code

class Compte:
    def __init__(self, nom, numero, balance):
        self.nom = nom
        self.numero = numero
        self.balance = balance

    def deposer(self, montant):
        self.balance += montant

    def retirer(self, montant):
        self.balance -= montant


compte_john = Compte(nom="John", numero="12345", balance=20000)
compte_john.deposer(montant=3000)
compte_john.retirer(montant=200)

comment Explications

La première chose à faire était de créer la classe Compte ainsi que sa méthode __init__ afin de pouvoir créer une instance avec les bons attributs :

class Compte:
    def __init__(self, nom, numero, balance):
        self.nom = nom
        self.numero = numero
        self.balance = balance

Cela nous permet ainsi de créer l'instance compte_john :

compte_john = Compte(nom="John", numero="12345", balance=20000)

Il fallait ensuite créer deux méthodes deposer et retirer qui nous permette de modifier l'attribut balance :

def deposer(self, montant):
    self.balance += montant

def retirer(self, montant):
    self.balance -= montant

On utilise ici le raccourci += et -= pour rapidement incrémenter et décrémenter la valeur de l'attribut balance du montant passé en argument au paramètre montant.

Cela revient au même que de faire :

def deposer(self, montant):
    self.balance = self.balance + montant

def retirer(self, montant):
    self.balance = self.balance - montant

star Points importants

  • Pour créer une classe on utilise l'instruction class.

  • Pour initialiser une instance, on utilise la méthode __init__.

  • Pour rapidement incrémenter ou décrémenter une variable, on peut utiliser += ou -=.

compte_john = Compte(nom="John", numero="12345", balance=20000)
compte_john.deposer(montant=3000)
compte_john.retirer(montant=200)
class Compte:
    def __init__(self, nom, numero, balance):
        self.nom = nom
        self.numero = numero
        self.balance = balance

    def deposer(self, montant):
        self.balance += montant

    def retirer(self, montant):
        self.balance -= montant


compte_john = Compte(nom="John", numero="12345", balance=20000)
compte_john.deposer(montant=3000)
compte_john.retirer(montant=200)

Console

Un instant...
terminal

Résultats

/ 3 tests validés

Test de la classe Compte

try:
    compte_john = Compte(nom="John", numero="12345", balance=20000)
except NameError:
    raise NameError("La classe Compte n'existe pas.")

        

Test de la valeur de l'attribut balance de compte_john

assert compte_john.balance == 22800, "L'attribut balance de compte_john ne contient pas la bonne valeur."

        

Test des attributs et de l'initialisation de l'instance compte_john

ccj = Compte(nom="John", numero="12345", balance=20000)
assert (ccj.nom == "John" and ccj.numero == "12345" and ccj.balance == 20000), "L'instance compte_john n'est pas initialisée avec les bons attributs ou les bonnes valeurs."

        

Bravo, tu as réussi cet exercice de code 🥳

👏

Envoyer ma solution

Vous avez trouvé une solution alternative pour cet exercice ? Proposez votre solution à la communauté 👇

Seules les propositions différentes de la solution proposée par Docstring peuvent être envoyées.

Ma solution :

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.