首頁 > 軟體

Python中的取整、取餘運算方法

2022-11-23 14:00:58

1.取整運算

在Python中取整運算的運運算元為//,且取整運算的取整為向下取整,不進行四捨五入
例:9//4=2,即9對4取整等於2
-9//-4=2,因為-9÷-4=2.25,取整為2
那麼問題來了,9//-4等於多少呢?
9//-4=-3,因為9÷-4應該等於-2.25,那麼對-2.25向下取整,應該為-3,而不是-2,所以9//-4=-3
那麼-9//4呢?
-9÷4也應該等於-2.25,所以向下取整,得到-9//4=-3
總結:
9//4=2
-9//-4=2
9//-4=-3
-9//4=-3

2.取餘運算

在Python中取餘運算的運運算元為%,取餘的結果為,被除數整除除數後餘下的數
例:9%4=1,即9對4取餘為1,因為9÷4=2···1,即9除以4等於2餘1,所以9%4=1
那麼問題又又又來了,-9%-4等於多少?9%-4等於多少?-9%4等於多少?
這是就要用到一個公式了,在Python中,餘數的計算公式:a % b = a - a // b * b
即a對b取餘的餘數 等於 a減去 a先對b取整,再乘以b ,即為a對b取餘的餘數
那麼-9%-4,就等於-9-(-9//-4*-4),等於-1,即-9%-4=-1
9%-4,就等於9-(9//-4*-4),等於-3,即9%-4=-3
-9%4,就等於-9-(-9//4*4),等於3,即-9%4=3
總結:
9%4=1
-9%-4=-1
9%-4=-3
-9%4=3

Python 幾種取整的方法

資料處理是程式設計中不可避免的,很多時候都需要根據需求把獲取到的資料進行處理,取整則是最基本的資料處理。取整的方式則包括向下取整、四捨五入、向上取整等等。

1、向下取整

向下取整直接用內建的 int() 函數即可:

>>> a = 3.75
>>> int(a)
3

2、四捨五入

對數位進行四捨五入用 round() 函數:

>>> round(3.25); round(4.85)
3.0
5.0

3、向上取整

向上取整需要用到 math 模組中的 ceil() 方法:

>>> import math
>>> math.ceil(3.25)
4.0
>>> math.ceil(3.75)
4.0
>>> math.ceil(4.85)
5.0

4、分別取整數部分和小數部分

有時候我們可能需要分別獲取整數部分和小數部分,這時可以用 math 模組中的 modf() 方法,該方法返回一個包含小數部分和整數部分的元組:

>>> import math
>>> math.modf(3.25)
(0.25, 3.0)
>>> math.modf(3.75)
(0.75, 3.0)
>>> math.modf(4.2)
(0.20000000000000018, 4.0)

有人可能會對最後一個輸出結果感到詫異,按理說它應該返回 (0.2, 4.0) 才對。這裡涉及到了另一個問題,即浮點數在計算機中的表示,在計算機中是無法精確的表示小數的,至少目前的計算機做不到這一點。上例中最後的輸出結果只是 0.2 在計算中的近似表示。Python 和 C 一樣, 採用 IEEE 754 規範來儲存浮點數,如果希望更詳細的瞭解這一點可以參考下面資料。

參考資料

為什麼0.1+0.2=0.30000000000000004而1.1+2.2=3.3000000000000003?.

到此這篇關於Python中的取整、取餘運算的文章就介紹到這了,更多相關Python取整、取餘運算內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com