Negatif bir sayı pozitife nasıl dönüştürülür?


101

Python'da negatif bir sayıyı pozitife nasıl dönüştürebilirim? (Ve olumlu olanı koruyun.)


Orijinal soruyu okurken (veya düzenleme onaylanırsa orijinal ifadeye geri dönüş ), parantez içindeki cümlenizin ne anlama geldiği belirsizdir. Orijinalin bir kopyasını saklamak mı istediniz, yoksa pozitif değerleri değiştirmeden bırakmak mı istiyorsunuz?
jpmc26

Yanıtlar:


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

Dokümanlara bakmayı unutmayın .


7
Ayrıca max(n, -n)(sadece başka bir alternatif :)
tzot

8
maxgüzel bir numaradır, ancak özellikle python'da, bundan% 30 daha yavaş olacak bir ek yük vardır abs. Kesinlikle tercih edilmelidir Yani absüzerindemax
user1767754

57

basitçe -1 ile çarpmak her iki şekilde de işe yarar ...

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

1
Bu sanırım en basit çözüm olacaktır. Bu çözüm, negatifi pozitife ve pozitifi negatif sayıya dönüştürecektir.
Naveen Raju

Klasik matematik.
Macintosh Fan

21

Eğer "olumlu bir tutmak" olumlu, kullanım negatif bir sayıyı sen kal pozitiften pozitif bir sayı istediğiniz aracı değil, aynı zamanda dönüştürmek abs():

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

8

Dahili fonksiyon abs () işe yarar.

positivenum = abs(negativenum)

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

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

Aslında herhangi bir sayıyı absdöndürecektir absolute value. Mutlak değer her zaman negatif olmayan bir sayıdır.


2
Abs (0) pozitif bir sayı mı döndürür? :)

3

Numpy ile çalışıyorsanız kullanabilirsiniz

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

Mutlak değerler sağlayacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.