Adloun

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

Faire l'exercice suivant avec le tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →