Exercices POO __eq__ et __lt__
🎉

Bravo!

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

__eq__ et __lt__

Par défaut, deux objets Python ne sont egaux que s'ils sont le meme objet en mémoire. Pour comparer leur contenu, il faut definir __eq__ (egalite) et __lt__ (inferieur a).

C'est comme comparer deux cartes d'identite : par défaut Python regarde si c'est le meme bout de papier. Avec __eq__, tu lui dis de comparer les informations ecrites dessus.

__eq__ est appele quand tu utilises ==
__lt__ est appele quand tu utilises <

Exemple :

class Score:
def __init__(self, points):
self.points = points
def __eq__(self, other):
return self.points == other.points
def __lt__(self, other):
return self.points < other.points

print(Score(10) == Score(10)) # True
print(Score(5) < Score(10)) # True

Crée une classe Note(valeur) ou valeur est entre 0 et 20, avec :
__eq__ : deux notes sont egales si meme valeur
__lt__ : une note est inferieure si sa valeur est plus petite
mention() : retourne 'TB' (>=16), 'B' (>=14), 'AB' (>=12), 'P' (>=10), 'E' (<10)

Exemple :
Note(15) == Note(15) renvoie True
Note(18).mention() renvoie 'TB'

Tests (3/4)

Égalité
assert Note(15) == Note(15)
Inférieur
assert Note(10) < Note(15)
Mention TB
assert Note(18).mention() == 'TB'

+ 0 tests cachés

Indices (3 disponibles)

solution.py