146 votes

Comment convertir un nombre négatif en positif?

Comment puis-je convertir un nombre négatif en positif en Python? (Et garder un positif.)

0 votes

Lecture de la question initiale (ou le retour à la formulation initiale si l'édition est approuvée), il n'est pas clair ce que votre phrase entre parenthèses était censée signifier. Vouliez-vous dire que vous vouliez conserver une copie de l'original, ou vouliez-vous dire que vous vouliez laisser les valeurs positives non modifiées?

290voto

>>> n = -42
>>> -n       # si vous savez que n est négatif
42
>>> abs(n)   # pour tout n
42

N'oubliez pas de consulter la documentation.

9 votes

Il y a aussi max(n, -n) (juste une autre alternative :)

13 votes

max est une astuce sympa, mais, surtout en python, il y a un surcoût associé, ce qui le rendra 30% plus lent que abs . Vous devriez donc préférer abs à max

1 votes

Tu dois le stocker dans une variable tu sais...(J'ai eu un gros souci à cause de cela!!!!)

92voto

Jeroen Dierckx Points 394

Simplement multiplier par -1 fonctionne dans les deux sens ...

>>> -10 * -1
10
>>> 10 * -1
-10

3 votes

Ce serait probablement la solution la plus simple je suppose. Cette solution convertirait les nombres négatifs en positifs et les nombres positifs en négatifs.

4 votes

Classique mathématiques.

43voto

BoltClock Points 249668

Si "garder un nombre positif" signifie que vous voulez qu'un nombre positif reste positif, mais convertir un nombre négatif en positif, utilisez abs():

>>> abs(-1)
1
>>> abs(1)
1

17voto

Tim Points 2000

La fonction intégrée abs() ferait l'affaire.

positivenum = abs(negativenum)

8voto

Pratik Jayarao Points 41

Si vous travaillez avec numpy, vous pouvez utiliser

import numpy as np
np.abs(-1.23)
>> 1.23

Cela vous fournira des valeurs absolues.

0 votes

Tant que c'est vrai, je ne peux pas penser à une situation dans laquelle cela serait préféré à la fonction abs native de Python.

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