Retour à la leçon
Mission

Mission : rendre une classe Argent utilisable comme un nombre

Implémenter le protocole dunder d'une classe de montants monétaires pour l'intégrer aux opérateurs natifs, tout en respectant le couple __eq__/__hash__.

Contexte

Une classe Argent représente un montant avec une devise (Argent(100, "EUR")). Un développeur veut pouvoir écrire total = argent1 + argent2 et mettre des instances d'Argent dans un set pour dédupliquer des transactions identiques. Il a défini __eq__ mais son code plante avec TypeError: unhashable type: 'Argent' dès qu'il tente d'utiliser un set.

Tu dois compléter le protocole dunder de cette classe, comprendre pourquoi l'erreur survient, et exposer un montant en centimes via une propriété calculée.