Python: modifier le resultat d'une fonction.

Discutez d'informatique ici !
GaBuZoMeu
Habitué(e)
Messages: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Python: modifier le resultat d'une fonction.

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: 6019
Enregistré le: 05 Mai 2019, 10:07

Re: Python: modifier le resultat d'une fonction.

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)

Cliffe
Membre Rationnel
Messages: 967
Enregistré le: 12 Juin 2012, 14:25

Re: Python: modifier le resultat d'une fonction.

par Cliffe » 23 Sep 2021, 06:55

Tu peux utiliser un décorateur :

https://onlinegdb.com/dfhsJAn7r

patrick28
Messages: 7
Enregistré le: 24 Déc 2018, 11:44

Re: Python: modifier le resultat d'une fonction.

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 ....)
Patrick, professeur en maths, et informatique (spécialité NSI)
Cours maths, informatique en Eure-Et-Loir, Chartres, Châteaudun
Cours en Visioconférence (en ligne) (France) : https://cours-visio.fr/

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite