Exercices Fonctions & Modules Premiers pas avec iter et next
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

Premiers pas avec iter et next

En Python, quand tu écris une boucle for sur une liste, il se passe quelque chose sous le capot. Python appelle d'abord iter() sur la liste pour obtenir un itérateur, puis il appelle next() sur cet itérateur pour récupérer les éléments un par un. Quand il n'y a plus d'éléments, l'itérateur lève une exception StopIteration et la boucle s'arrête.

Tu peux faire ça toi-même à la main :

it = iter([10, 20, 30])
next(it) donne 10
next(it) donne 20
next(it) donne 30

Après le dernier élément, appeler next(it) lèverait StopIteration. Mais next() accepte un deuxième argument qui sert de valeur par défaut si l'itérateur est épuisé : next(it, None) renvoie None au lieu de planter.

Écris une fonction premiers_elements(iterable, n) qui renvoie une liste contenant les n premiers éléments d'un iterable. Si l'iterable contient moins de n éléments, renvoie juste ce qu'il y a.

Exemple :
premiers_elements([10, 20, 30, 40, 50], 3) renvoie [10, 20, 30]
premiers_elements([1, 2], 5) renvoie [1, 2]

Tests (3/4)

3 premiers sur 5
assert premiers_elements([10, 20, 30, 40, 50], 3) == [10, 20, 30]
Plus que disponible
assert premiers_elements([1, 2], 5) == [1, 2]
Zéro éléments
assert premiers_elements([1, 2, 3], 0) == []

+ 0 tests cachés

Indices (3 disponibles)

solution.py