Exercices Fonctions & Modules Closure : fabrique de compteur
🎉

Bravo!

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

Closure : fabrique de compteur

Les closures sont partout dans le code Python moderne : dans les décorateurs, les callbacks, les factories de fonctions. Une closure, c'est une fonction interne qui se souvient des variables de la fonction qui l'a créée, même après que celle-ci a terminé.

Exemple :
def creer_multiplicateur(facteur):
def multiplier(x):
return x * facteur
return multiplier

double = creer_multiplicateur(2)
double(5) renvoie 10

Piège : en Python, tu ne peux pas modifier directement une variable simple dans une closure. Utilise une liste mutable ou le mot-clé nonlocal.

Écris une fonction creer_compteur(debut=0) qui retourne une fonction. Chaque appel à cette fonction incrémente et retourne le compteur.

Exemple :
c = creer_compteur()
c() renvoie 1
c() renvoie 2

Tests (2/4)

Compteur depuis 0
c = créer_compteur()
assert c() == 1
assert c() == 2
assert c() == 3
Compteur depuis 10
c = créer_compteur(10)
assert c() == 11
assert c() == 12

+ 0 tests cachés

Indices (3 disponibles)

solution.py