Come convertire un numero negativo in positivo?


99

Come posso convertire un numero negativo in positivo in Python? (E tienine uno positivo.)


Leggendo la domanda originale (o il ritorno alla frase originale se la modifica viene approvata), non è chiaro cosa avrebbe dovuto significare la frase tra parentesi. Volevi dire che volevi conservare una copia dell'originale o che volevi lasciare i valori positivi non modificati?
jpmc26

Risposte:


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

Non dimenticare di controllare i documenti .


7
C'è anche max(n, -n)(solo un'altra alternativa :)
tzot

8
maxè un bel trucco, ma, specialmente in Python, c'è un sovraccarico, che sarà il 30% più lento di abs. Quindi si dovrebbe assolutamente preferire absovermax
user1767754

57

semplicemente moltiplicando per -1 funziona in entrambi i modi ...

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

1
Questa sarebbe la soluzione più semplice immagino. Questa soluzione convertirà un numero negativo in positivo e un numero positivo in negativo.
Naveen Raju,

Matematica classica.
Macintosh Fan

21

Se "mantieni uno positivo" significa che vuoi che un numero positivo rimanga positivo, ma anche convertire un numero negativo in positivo, usa abs():

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

8

La funzione incorporata abs () farebbe il trucco.

positivenum = abs(negativenum)

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

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

In realtà absrestituirà il absolute valuedi qualsiasi numero. Il valore assoluto è sempre un numero non negativo.


2
Abs (0) restituisce un numero positivo? :)

2

Se stai lavorando con numpy puoi usare

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

Fornirà valori assoluti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.