Comment convertir un nombre négatif en positif?


99

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


En lisant la question originale (ou le retour à la formulation originale si la modification est approuvée), on ne sait pas ce que votre phrase entre parenthèses était censée signifier. Voulez-vous dire que vous vouliez conserver une copie de l'original ou vouliez-vous laisser les valeurs positives non modifiées?
jpmc26

Réponses:


206
>>> n = -42
>>> -n       # if you know n is negative
42
>>> abs(n)   # for any n
42

N'oubliez pas de consulter les documents .


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

8
maxest une astuce intéressante, mais, en particulier en python, il y a une surcharge, qui sera 30% plus lente que abs. Vous devriez donc certainement préférer absàmax
user1767754

57

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

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

1
Ce serait la solution la plus simple que je suppose. Cette solution convertirait un nombre négatif en positif et un nombre positif en négatif.
Naveen Raju

Mathématiques classiques.
Fan Macintosh

21

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

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

8

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

positivenum = abs(negativenum)

4
In [6]: x = -2
In [7]: x
Out[7]: -2

In [8]: abs(x)
Out[8]: 2

En fait abs, retournera le absolute valuede n'importe quel nombre. La valeur absolue est toujours un nombre non négatif.


2
Abs (0) renvoie-t-il un nombre positif? :)

2

Si vous travaillez avec numpy, vous pouvez utiliser

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

Il fournira des valeurs absolues.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.