Wie kann ich eine negative Zahl in Python in positive umwandeln? (Und halten eine positive.)Wie konvertiert man eine negative Zahl in ein positives?
Antwort
>>> n = -42
>>> -n # if you know n is negative
42
>>> abs(n) # for any n
42
Vergessen Sie nicht, die docs zu überprüfen.
Es gibt auch 'max (n, -n)' (nur eine andere Alternative :) – tzot
'max' ist ein netter Trick, aber vor allem in Python gibt es einen Overhead, der 30% langsamer ist als' abs' . Also sollten Sie auf jeden Fall "abs" über "max" bevorzugen – user1767754
Wenn "eine positive halten" bedeutet, dass Sie eine positive Zahl wollen, positiv zu bleiben, sondern auch eine negative Zahl positiv konvertieren, verwenden abs()
:
>>> abs(-1)
1
>>> abs(1)
1
Die eingebaute Funktion abs() tun würde, der Trick.
positivenum = abs(negativenum)
In [6]: x = -2
In [7]: x
Out[7]: -2
In [8]: abs(x)
Out[8]: 2
Eigentlich abs
die absolute value
einer beliebigen Zahl zurück. Der absolute Wert ist immer eine nicht negative Zahl.
Gibt abs (0) eine positive Zahl zurück? :) –
in Arithmetik, -0 = +0 = 0. – Tauquir
einfach mit -1 Arbeiten in beiden Richtungen multipliziert ...
>>> -10 * -1
10
>>> 10 * -1
-10
die ursprüngliche Frage (oder die Rückkehr zur ursprünglichen Formulierung zu lesen, wenn [die edit] (http://stackoverflow.com/review/ vorgeschlagen-edits/10741589) wird genehmigt), es ist unklar, was Ihr geklammerter Satz bedeuten sollte. Meinten Sie, Sie wollten eine Kopie des Originals behalten, oder meinten Sie, Sie wollten positive Werte unverändert lassen? – jpmc26