除法 傳統除法 floor和真除法

2021-07-14 19:51:22 字數 673 閱讀 7556

除法:傳統除法、floor和真除法

有三種型別的除法操作符,其中一種操作符在python 3.0 中有了變化

x/y:

傳統除法和真除法。在python2.7之前,這個操作對於整數會省去小數部分,對於浮點數會保持小數部分

在python 3.0版本中會變成真除法(無論任何型別都會保持小數部分)

x//y:

floor除法。這個操作不考慮操作物件的型別,總會省略掉結果的小數部分,剩下最小的能整除的部分。如果有浮點型則返回浮點型,如果是整數則返回整數

//操作符通常叫做截斷除法,但是更準確的說法是floor除法,它把結果向下截斷到它的下層,即正真結果之下最接近的整數。其直接效果是向下捨入,並不是嚴格地截斷,並且對負數也有效

新增真除法是為了解決最初的傳統除法的結果,依賴於運算元型別,這樣會使結果在python這樣的動態型別語言中難以預料

由於這一限制,python3取消了傳統除法:/和//操作符在python3.0中分別實現真除法和floor除法

在3.0中 /返回浮點結果,//是floor除法,返回整數

math中的方法

floor trunc

math.floor(2.5) 2

math.floor(-2.5) -3

math.trunc(2.5) 2

math.trunc(-2.5) -2

真除法,floor除法,傳統除法

python3.0 一直執行真除法 eg 4 2 2.0 都帶小數點,和算式中有沒有浮點數無關 python3.0 執行floor除法 一定執行截斷,得到的不是準確值。有浮點型返回浮點型,無浮點型返回int型在python2.6或者之前,對於整數運算會省去小數部分,而對於浮點數運算會保持小數部分在p...

Python3除法之真除法 截斷除法和下取整對比

在python3中,數 算中的除法被分為兩種,分別是 真除法 即無論任何型別相除的結果都會保留小數點,和我們實際的數 算結果一致,而 截斷除法 則是無論任何型別相除的結果都會省略結果的小數部分,剩下最小的能整除的整數部分。以下是兩種除法的基本形式 真除法 x y 截斷除法 x yx 8 y 2 z ...

整除光棍(模擬除法)

這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字 第乙個數字s,表示x乘以...