Soustraire, À Moins Que Négatif Alors Retourner 0

Je vais préface, c'est uniquement pour satisfaire ma curiosité plutôt que d'avoir besoin de l'aide sur le code du projet. Mais je voulais savoir si quelqu'un sait de fonction (en particulier en python, mais je vais accepter valide d'un concept mathématique) un peu comme valeur absolue, que, étant donné un numéro de retour 0 si négatif ou de retour de ce nombre si positif.

Pseudo-code:

def myFunc(x):
    if x > 0:
        return x
    else:
        return 0

Encore une fois, de ne pas poser la question de la complexité, juste de la curiosité. J'ai besoin d'une couple de fois maintenant, et je me demandais si je n'ai vraiment besoin d'écrire ma propre fonction ou si l'on existait déjà. Si il n'y a pas une fonction pour faire cela, est-il possible d'écrire une seule ligne à l'aide d'une expression n'est pas d'évaluer à deux reprises.

c'est à dire

myVar = x-y if x-y>0 else 0

Je serais bien avec une solution comme ça si x-y n'était pas évaluée deux fois. Donc, si quelqu'un y a aucune solution, je l'apprécierais.

Grâce

  • Je pense que ce que vous cherchez est max(0,x) ?
InformationsquelleAutor Hoopdady | 2012-10-04