Python中的取整、取余運算方法
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中取余運算的運算符為%,取余的結果為,被除數(shù)整除除數(shù)后余下的數(shù)
例:9%4=1,即9對4取余為1,因為9÷4=2···1,即9除以4等于2余1,所以9%4=1
那么問題又又又來了,-9%-4等于多少?9%-4等于多少?-9%4等于多少?
這是就要用到一個公式了,在Python中,余數(shù)的計算公式:a % b = a - a // b * b
即a對b取余的余數(shù) 等于 a減去 a先對b取整,再乘以b ,即為a對b取余的余數(shù)
那么-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 幾種取整的方法
數(shù)據(jù)處理是編程中不可避免的,很多時候都需要根據(jù)需求把獲取到的數(shù)據(jù)進行處理,取整則是最基本的數(shù)據(jù)處理。取整的方式則包括向下取整、四舍五入、向上取整等等。
1、向下取整
向下取整直接用內建的 int()
函數(shù)即可:
>>> a = 3.75 >>> int(a) 3
2、四舍五入
對數(shù)字進行四舍五入用 round()
函數(shù):
>>> 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、分別取整數(shù)部分和小數(shù)部分
有時候我們可能需要分別獲取整數(shù)部分和小數(shù)部分,這時可以用 math
模塊中的 modf()
方法,該方法返回一個包含小數(shù)部分和整數(shù)部分的元組:
>>> 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)
才對。這里涉及到了另一個問題,即浮點數(shù)在計算機中的表示,在計算機中是無法精確的表示小數(shù)的,至少目前的計算機做不到這一點。上例中最后的輸出結果只是 0.2 在計算中的近似表示。Python 和 C 一樣, 采用 IEEE 754
規(guī)范來存儲浮點數(shù),如果希望更詳細的了解這一點可以參考下面資料。
參考資料
為什么0.1+0.2=0.30000000000000004而1.1+2.2=3.3000000000000003?.
到此這篇關于Python中的取整、取余運算的文章就介紹到這了,更多相關Python取整、取余運算內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
TensorFLow 不同大小圖片的TFrecords存取實例
今天小編就為大家分享一篇TensorFLow 不同大小圖片的TFrecords存取實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Pytorch DataLoader 變長數(shù)據(jù)處理方式
今天小編就為大家分享一篇Pytorch DataLoader 變長數(shù)據(jù)處理方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python+Pygame實現(xiàn)之走四棋兒游戲的實現(xiàn)
大家以前應該都聽說過一個游戲:叫做走四棋兒。直接在家里的水泥地上用燒完的炭火灰畫出幾條線,擺上幾顆石頭子即可。當時的火爆程度可謂是達到了一個新的高度。本文將利用Pygame實現(xiàn)這一游戲,需要的可以參考一下2022-07-07pytorch的backward()的底層實現(xiàn)邏輯詳解
自動微分是一種計算張量(tensors)的梯度(gradients)的技術,它在深度學習中非常有用,這篇文章主要介紹了pytorch的backward()的底層實現(xiàn)邏輯,需要的朋友可以參考下2023-11-11