Python中的取整、取余運(yùn)算方法
1.取整運(yùn)算
在Python中取整運(yùn)算的運(yùn)算符為//,且取整運(yùn)算的取整為向下取整,不進(jìn)行四舍五入
例:9//4=2,即9對4取整等于2
-9//-4=2,因?yàn)?9÷-4=2.25,取整為2
那么問題來了,9//-4等于多少呢?
9//-4=-3,因?yàn)?÷-4應(yīng)該等于-2.25,那么對-2.25向下取整,應(yīng)該為-3,而不是-2,所以9//-4=-3
那么-9//4呢?
-9÷4也應(yīng)該等于-2.25,所以向下取整,得到-9//4=-3
總結(jié):
9//4=2
-9//-4=2
9//-4=-3
-9//4=-3
2.取余運(yùn)算
在Python中取余運(yùn)算的運(yùn)算符為%,取余的結(jié)果為,被除數(shù)整除除數(shù)后余下的數(shù)
例:9%4=1,即9對4取余為1,因?yàn)?÷4=2···1,即9除以4等于2余1,所以9%4=1
那么問題又又又來了,-9%-4等于多少?9%-4等于多少?-9%4等于多少?
這是就要用到一個(gè)公式了,在Python中,余數(shù)的計(jì)算公式: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
總結(jié):
9%4=1
-9%-4=-1
9%-4=-3
-9%4=3
Python 幾種取整的方法
數(shù)據(jù)處理是編程中不可避免的,很多時(shí)候都需要根據(jù)需求把獲取到的數(shù)據(jù)進(jìn)行處理,取整則是最基本的數(shù)據(jù)處理。取整的方式則包括向下取整、四舍五入、向上取整等等。
1、向下取整
向下取整直接用內(nèi)建的 int() 函數(shù)即可:
>>> a = 3.75 >>> int(a) 3
2、四舍五入
對數(shù)字進(jìn)行四舍五入用 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ù)部分和小數(shù)部分,這時(shí)可以用 math 模塊中的 modf() 方法,該方法返回一個(gè)包含小數(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)
有人可能會對最后一個(gè)輸出結(jié)果感到詫異,按理說它應(yīng)該返回 (0.2, 4.0) 才對。這里涉及到了另一個(gè)問題,即浮點(diǎn)數(shù)在計(jì)算機(jī)中的表示,在計(jì)算機(jī)中是無法精確的表示小數(shù)的,至少目前的計(jì)算機(jī)做不到這一點(diǎn)。上例中最后的輸出結(jié)果只是 0.2 在計(jì)算中的近似表示。Python 和 C 一樣, 采用 IEEE 754 規(guī)范來存儲浮點(diǎn)數(shù),如果希望更詳細(xì)的了解這一點(diǎn)可以參考下面資料。
參考資料
為什么0.1+0.2=0.30000000000000004而1.1+2.2=3.3000000000000003?.
到此這篇關(guān)于Python中的取整、取余運(yùn)算的文章就介紹到這了,更多相關(guān)Python取整、取余運(yùn)算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)手機(jī)號自動判斷男女性別(實(shí)例解析)
這篇文章主要介紹了Python實(shí)現(xiàn)手機(jī)號自動判斷男女性別,本文性別判斷主要依靠airtest中的自動化測試實(shí)現(xiàn),通過實(shí)例代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Mac OS X10.9安裝的Python2.7升級Python3.3步驟詳解
Mac OS X10.9默認(rèn)帶了Python2.7,不過現(xiàn)在Python3.3.3出來了,如果想使用最新版本,趕緊升級下吧?;静襟E如下2013-12-12
關(guān)于Python中進(jìn)度條的六個(gè)實(shí)用技巧分享
在項(xiàng)目開發(fā)過程中加載、啟動、下載項(xiàng)目難免會用到進(jìn)度條,下面這篇文章主要給大家介紹了關(guān)于Python中進(jìn)度條的六個(gè)實(shí)用技巧,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
解決Windows下PowerShell無法進(jìn)入Python虛擬環(huán)境問題
這篇文章主要介紹了解決Windows下PowerShell無法進(jìn)入Python虛擬環(huán)境問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見陷阱
SQLAlchemy 是一個(gè) Python ORM 工具包,它提供使用 Python 訪問 SQL 數(shù)據(jù)庫的功能。這篇文章主要介紹了如何修復(fù)使用 Python ORM 工具 SQLAlchemy 時(shí)的常見陷阱,需要的朋友可以參考下2019-11-11
Python3創(chuàng)建Django項(xiàng)目的幾種方法(3種)
這篇文章主要介紹了Python3創(chuàng)建Django項(xiàng)目的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Visual Studio Code搭建django項(xiàng)目的方法步驟
這篇文章主要介紹了Visual Studio Code搭建django項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

