NSI (terminale) · Chapitre 9 · Exercice de TD
Surcharge de l'opérateur +
La programmation orientée objet · niveau 3 (difficile)
Énoncé
Surcharge de l'opérateur +.
Créer une classe Fraction (numérateur, dénominateur) et surcharger l'opérateur + pour additionner deux fractions, avec une méthode __repr__ adaptée.
Corrigé
from math import gcd
class Fraction:
def __init__(self, num, den):
d = gcd(num, den)
self.num = num // d
self.den = den // d
def __add__(self, autre):
n = self.num * autre.den + autre.num * self.den
d = self.den * autre.den
return Fraction(n, d)
def __repr__(self):
return f"{self.num}/{self.den}"
print(Fraction(1, 2) + Fraction(1, 3)) # 5/6
La somme est obtenue après simplification par le PGCD.
100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 8 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.