Exercices Fonctions & Modules Protocole de sequence : __getitem__
🎉

Bravo!

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

Protocole de sequence : __getitem__

Le protocole de sequence en Python repose sur deux méthodes speciales : __len__() et __getitem__(). Si ta classe implémente ces deux méthodes, tes objets se comportent comme des sequences : tu peux utiliser len(), acceder aux éléments par index avec les crochets [], et meme iterer dessus avec une boucle for.

__getitem__(self, index) est appele quand tu ecris objet[index]. Elle doit renvoyer l'élément a la position demandee.

Enrichis la classe Panier de l'exercice précédent en ajoutant __getitem__() pour pouvoir acceder aux articles par leur index.

Écris une classe Panier avec :
__init__(self) qui initialise une liste vide
ajouter(self, article) qui ajoute un article
__len__(self) qui renvoie le nombre d'articles
__getitem__(self, index) qui renvoie l'article a l'index donne

Exemple :
p = Panier()
p.ajouter('pommes')
p.ajouter('pain')
p[0] renvoie 'pommes'
p[1] renvoie 'pain'

Tests (3/4)

Premier élément
p = Panier()
p.ajouter('pommes')
assert p[0] == 'pommes'
Deuxieme élément
p = Panier()
p.ajouter('pommes')
p.ajouter('pain')
assert p[1] == 'pain'
Index negatif
p = Panier()
p.ajouter('pommes')
p.ajouter('pain')
assert p[-1] == 'pain'

+ 0 tests cachés

Indices (3 disponibles)

solution.py