Retour à la leçon
Mission

Mission : réparer des boutons de filtre qui pointent tous sur la même catégorie

Diagnostiquer le piège de la capture tardive des closures dans une boucle, et concevoir des compteurs indépendants avec nonlocal.

Contexte

Une interface génère dynamiquement des callbacks de filtre pour chaque catégorie de produit avec callbacks.append(lambda: filtrer(categorie)) à l'intérieur d'une boucle for categorie in categories. Au clic, tous les boutons filtrent sur la dernière catégorie de la liste, peu importe celui sur lequel l'utilisateur clique.

Tu dois expliquer précisément ce mécanisme de capture tardive, corriger le code, puis construire deux compteurs indépendants à l'aide de closures et nonlocal.