Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Première fonction curriee
Le currying (du nom du mathematicien Haskell Curry) est une technique qui transforme une fonction a plusieurs paramètres en une chaine de fonctions a un seul paramètre.
L'idee est simple : tu as une fonction qui prend deux arguments. Plutot que de lui donner les deux d'un coup, tu lui donnes le premier et tu recuperes une nouvelle fonction qui attend le second.
def multiplier(a, b): return a * b
# Version curriee def curry_multiplier(a): return lambda b: a * b
Écris une fonction curry(func, premier_arg) qui prend une fonction a deux paramètres et un premier argument, et renvoie une nouvelle fonction qui n'attend plus que le second argument.
Exemple : def additionner(a, b): return a + b ajouter_dix = curry(additionner, 10) ajouter_dix(5) renvoie 15 ajouter_dix(20) renvoie 30
Tests (3/4)
Addition
def add(a, b): return a + b
f = curry(add, 10)
assert f(5) == 15
Multiplication
def mul(a, b): return a * b
f = curry(mul, 3)
assert f(7) == 21
Soustraction
def sub(a, b): return a - b
f = curry(sub, 100)
assert f(30) == 70