69 votes

Existe-t-il un opérateur pour calculer le pourcentage en Python ?

J'ai récemment appris que le signe " % " est utilisé pour calculer le reste d'un entier en Python. Cependant, je n'ai pas pu déterminer s'il existe un autre opérateur ou une autre méthode pour calculer le pourcentage en Python.

Comme avec " / " qui vous donnera le quotient, si vous utilisez simplement un flottant pour l'un des entiers, il vous donnera en fait la réponse comme une division traditionnelle. Existe-t-il donc une méthode pour calculer le pourcentage ?

42voto

Rafe Kettler Points 29389

Il n'y a pas un tel opérateur en Python, mais il est trivial à implémenter par vous-même. Dans la pratique en informatique, les pourcentages ne sont pas aussi utiles qu'un modulo, donc aucun langage auquel je puisse penser n'en implémente un.

7voto

Giovanni Gianni Points 6186

utilisation de %

 def percent(expression):
    if "%" in expression:
        expression = expression.replace("%","/100")
    return eval(expression)

>>> percent("1500*20%")
300.0

Quelque chose de simple

 >>> p = lambda x: x/100
>>> p(20)
0.2
>>> 100*p(20)
20.0
>>>

0voto

Seti Volkylany Points 1692

Implémentation de code très rapide et triée en utilisant l'opérateur lambda.

 In [17]: percent = lambda part, whole:float(whole) / 100 * float(part)
In [18]: percent(5,400)
Out[18]: 20.0
In [19]: percent(5,435)
Out[19]: 21.75

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X