Exercices Fonctions & Modules Combiner filter et map
🎉

Bravo!

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

Combiner filter et map

La vraie puissance de la programmation fonctionnelle, c'est quand tu combines filter() et map() ensemble. L'idee est simple : d'abord tu filtres les éléments qui t'interessent, puis tu les transformes. Ou l'inverse.

Par exemple, pour obtenir les carres des nombres pairs :
nombres = [1, 2, 3, 4, 5, 6]
pairs = filter(lambda x: x % 2 == 0, nombres)
carres = list(map(lambda x: x ** 2, pairs))
donne [4, 16, 36]

Tu peux aussi imbriquer les appels directement : map() sur le résultat de filter().

Écris une fonction carres_positifs(nombres) qui filtre les nombres strictement positifs, puis renvoie la liste de leurs carres.

Exemple :
carres_positifs([3, -1, 4, -5, 2]) renvoie [9, 16, 4]
carres_positifs([-1, -2]) renvoie []

Tests (3/4)

Cas mixte
assert carres_positifs([3, -1, 4, -5, 2]) == [9, 16, 4]
Tous negatifs
assert carres_positifs([-1, -2]) == []
Liste vide
assert carres_positifs([]) == []

+ 0 tests cachés

Indices (3 disponibles)

solution.py