Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Fonction pure vs impure
Un concept fondamental en programmation fonctionnelle est la notion de fonction pure. Une fonction pure a deux propriétés : 1. Pour les memes arguments, elle renvoie toujours le meme résultat. 2. Elle n'a aucun effet de bord (elle ne modifie rien en dehors d'elle-meme).
C'est ce qu'on appelle la transparence referentielle : tu peux remplacer l'appel de la fonction par sa valeur de retour sans changer le comportement du programme.
Exemple de fonction pure : def ajouter(a, b): return a + b
Exemple de fonction impure : total = 0 def ajouter_au_total(x): global total total += x # effet de bord : modifie une variable globale return total
Écris une fonction transformer_liste(nombres, func) qui prend une liste de nombres et une fonction, et renvoie une NOUVELLE liste contenant le résultat de func appliquee a chaque élément. Ta fonction ne doit PAS modifier la liste originale (c'est ca, etre pur).
Exemple : transformer_liste([1, 2, 3], lambda x: x * 2) renvoie [2, 4, 6] transformer_liste([4, 9, 16], lambda x: x ** 0.5) renvoie [2.0, 3.0, 4.0]