Bagaimana cara mengubah angka negatif menjadi positif?


99

Bagaimana cara mengubah bilangan negatif menjadi positif dengan Python? (Dan pertahankan yang positif.)


Membaca pertanyaan asli (atau kembali ke frasa asli jika edit disetujui), tidak jelas apa maksud kalimat dalam tanda kurung Anda. Apakah maksud Anda ingin menyimpan salinan aslinya, atau apakah Anda bermaksud membiarkan nilai-nilai positif tidak diubah?
jpmc26

Jawaban:


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

Jangan lupa periksa dokumennya .


7
Ada juga max(n, -n)(hanya alternatif lain :)
tzot

8
maxadalah trik yang bagus, tetapi, terutama di python, ada overhead untuk itu, yang akan menjadi 30% lebih lambat dari abs. Jadi Anda pasti harus memilih abslebih darimax
pengguna1767754

57

hanya mengalikan dengan -1 bekerja dengan dua cara ...

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

1
Ini akan menjadi solusi paling sederhana yang saya kira. Penyelesaian ini akan mengubah angka negatif menjadi positif dan positif menjadi negatif.
Naveen Raju

Matematika klasik.
Macintosh Fan

21

Jika "pertahankan angka positif" berarti Anda ingin angka positif tetap positif, tetapi juga mengonversi angka negatif menjadi positif, gunakan abs():

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

8

Fungsi inbuilt abs () akan melakukan triknya.

positivenum = abs(negativenum)

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

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

Sebenarnya absakan mengembalikan absolute valuenomor apa pun. Nilai absolut selalu berupa angka non-negatif.


2
Apakah abs (0) mengembalikan bilangan positif? :)

2

Jika Anda bekerja dengan numpy, Anda dapat menggunakan

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

Ini akan memberikan nilai absolut.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.