除法:傳統除法、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乘以...