Exercices Fonctions & Modules Générateur infini tronque
🎉

Bravo!

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

Générateur infini tronque

En Python, tu peux créer une source infinie de données avec while True et yield, puis en prendre juste ce dont tu as besoin avec itertools.islice(). C'est un pattern élégant utilisé pour les flux de données en temps réel, les séquences mathématiques, ou les identifiants auto-incrémentés.

Exemple :
def entiers_naturels():
n = 0
while True:
yield n
n += 1

list(itertools.islice(entiers_naturels(), 5)) donne [0, 1, 2, 3, 4]

Écris une fonction génératrice puissances_de_deux() qui yield les puissances de 2 à l'infini (1, 2, 4, 8, 16, ...). Puis écris une fonction premieres_puissances(n) qui retourne les n premières en utilisant itertools.islice.

Exemple :
premieres_puissances(5) donne [1, 2, 4, 8, 16]

Tests (2/4)

5 premières puissances
assert premières_puissances(5) == [1, 2, 4, 8, 16]
10 premières
assert premières_puissances(10) == [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

+ 0 tests cachés

Indices (3 disponibles)

solution.py