# -*- encoding: utf8 -*-

# Modélisation d'un compte bancaire

class CompteBancaire(object):
    """Définition d'un compte bancaire"""
    
    def __init__(self, nom ="Dupont", solde =1000):
        self.nom, self.solde = nom, solde

    def depot(self, somme):
        """
        depot(float somme)--> None
        Ajoute une <somme> au solde du compte
        """
        self.solde += somme

    def retrait(self, somme):
        """
        retrait(float somme) --> None
        Retire, si possible, une <somme> au solde du compte
        """
        if somme <= self.solde:
            self.solde -= somme
        else:
            print("Le solde du compte de {} est insuffisant pour ce retrait.".format(self.nom))

    def affiche(self):
        """
        affiche() --> None
        Affiche le nom du titulaire et le solde du compte
        """
        print("Le solde du compte de {titulaire} est de {solde}.".format(titulaire=self.nom, solde=self.solde))
        
# Programme de test:

if __name__ == "__main__":
    print("Création du compte de Duchmot avec 800.-...")
    compte1 = CompteBancaire('Duchmol', 800)
    print("Dépot de 350.- sur le compte de Duchmol...")
    compte1.depot(350)
    print("Retrait de 200.- du compte de Duchmol...")
    compte1.retrait(200)
    print("Affichage du compte de Duchmol...")
    compte1.affiche()
    print("Création d'un compte avec valeurs par défaut...")
    compte2 = CompteBancaire()
    print("Dépot de 25.- sur le nouveau compte...")
    compte2.depot(25)
    print("Retrait de 3000.- du nouveau compte...")
    compte2.retrait(3000)
    print("Affichage du nouveau compte...")
    compte2.affiche()

    input("Appuyez sur une touche pour fermer la fenetre !")

    
