Exercices POO __add__ et __mul__
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

__add__ et __mul__

Python te permet de definir ce que font les operateurs + et * sur tes propres objets. __add__ est appele quand tu ecris a + b, et __mul__ quand tu ecris a * b.

C'est tres utile pour les objets mathematiques comme les vecteurs, les matrices ou les fractions.

Une regle importante : ces méthodes doivent retourner un NOUVEL objet, sans modifier les originaux. C'est comme quand tu additionnes 3 + 5 : ni le 3 ni le 5 ne changent, tu obtiens un nouveau nombre 8.

Exemple :

class Fraction:
def __init__(self, num, den):
self.num = num
self.den = den
def __add__(self, other):
n = self.num * other.den + other.num * self.den
d = self.den * other.den
return Fraction(n, d)

Crée une classe Vecteur(x, y) avec :
__add__ : addition de deux vecteurs (composante par composante)
__mul__ : multiplication par un scalaire (nombre)
norme() : retourne la norme du vecteur (racine de x au carre + y au carre)
__eq__ : egalite composante par composante

Exemple :
v = Vecteur(1, 2) + Vecteur(3, 4) donne Vecteur(4, 6)
v = Vecteur(2, 3) * 2 donne Vecteur(4, 6)
Vecteur(3, 4).norme() renvoie 5.0

Tests (2/4)

Addition
v = Vecteur(1, 2) + Vecteur(3, 4)
assert v.x == 4 and v.y == 6
Multiplication
v = Vecteur(2, 3) * 2
assert v.x == 4 and v.y == 6

+ 0 tests cachés

Indices (3 disponibles)

solution.py