NSI (terminale) · Chapitre 9 · Exercice d'entraînement
Des prix exacts
La programmation orientée objet · Méthodes spéciales · niveau 2
Énoncé
Des prix exacts.
- Que renvoie l'expression
0.1 + 0.2 == 0.3en Python ? Pourquoi est-ce gênant pour un logiciel de caisse ? - Pour éviter ce problème, on représente un prix par un nombre entier de centimes. Écrire une classe
Prixdont le constructeur reçoit ce nombre de centimes (entier positif ou nul) et qui surcharge :
- l'opérateur
+(méthode__add__), qui renvoie un nouveau prix ; - l'opérateur
==(méthode__eq__) ; - l'affichage (méthode
__str__) au format12,05 EUR.
- Écrire une fonction
total(prix)qui renvoie la somme d'une liste d'objetsPrix.
Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.