Python: modifier le resultat d'une fonction.
Discutez d'informatique ici !
-
GaBuZoMeu
- Habitué(e)
- Messages: 6020
- Enregistré le: 05 Mai 2019, 10:07
-
par GaBuZoMeu » 29 Aoû 2021, 16:37
Que voudrais-tu exactement ? Une procédure qui prend en entrée une fonction et qui retourne la fonction modifiée ?
-
GaBuZoMeu
- Habitué(e)
- Messages: 6020
- Enregistré le: 05 Mai 2019, 10:07
-
par GaBuZoMeu » 31 Aoû 2021, 18:57
Une possibilité :
- Code: Tout sélectionner
def a(x) :
if x >=0 : return x
else : return 1/x
f = lambda x : x**3
g = lambda x : a(f(x))
autre possibilité avec le a(x) défini ci-dessus
- Code: Tout sélectionner
def truquer(f) :
g = lambda x : a(f(x))
return g
g = truquer(f)
-
patrick28
- Messages: 7
- Enregistré le: 24 Déc 2018, 11:44
-
par patrick28 » 03 Déc 2021, 17:07
Bonjour,
Sans rentrer dans les décorateurs, tu peux mettre la fonction f en paramètre d'entrée d'une fonction g.
- Code: Tout sélectionner
def g(f,x):
if f(x) >=0:
return f(x)
else:
return 1/f(x)
tu peux tester avec une fonction f, comme
- Code: Tout sélectionner
def f(x):
return x*x -4
En shell:
- Code: Tout sélectionner
>>> g(f,-1)
-0.3333333333333333
>>> g(f,7)
45
>>>
La fonction g vérifie, il me semble les conditions ...(après je ne sais pas ce que tu souhaites faire avec une telle fonction ....)
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités