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.