Exercices Fonctions & Modules Protocole iterateur
🎉

Bravo!

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

Protocole iterateur

Quand tu écris for x in quelque_chose, Python appelle en coulisses deux méthodes spéciales : __iter__() et __next__(). Comprendre ce protocole, c'est comprendre comment fonctionnent les boucles for, les générateurs, et les itérables paresseux que tu utilises dans Django et pandas.

__iter__() retourne l'itérateur (souvent self), et __next__() retourne la valeur suivante ou lève StopIteration quand c'est fini.

Crée une classe Compte qui fait un compte à rebours. Le constructeur prend debut. L'itérateur va de debut jusqu'à 0 inclus, en décrémentant de 1 à chaque appel.

Exemple :
list(Compte(5)) donne [5, 4, 3, 2, 1, 0]

Tests (2/4)

Compte a rebours
assert list(Compte(5)) == [5, 4, 3, 2, 1, 0]
Utilisable dans un for
result = []
for n in Compte(3):
    result.append(n)
assert result == [3, 2, 1, 0]

+ 0 tests cachés

Indices (3 disponibles)

solution.py