Exercices Fonctions & Modules Fonction pure vs impure
🎉

Bravo!

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]

Tests (3/4)

Doubler
assert transformer_liste([1, 2, 3], lambda x: x * 2) == [2, 4, 6]
Racine
assert transformer_liste([4, 9, 16], lambda x: x ** 0.5) == [2.0, 3.0, 4.0]
Liste vide
assert transformer_liste([], lambda x: x) == []

+ 0 tests cachés

Indices (3 disponibles)

solution.py