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

2021-09-25 07:45:41 字數 1219 閱讀 2470

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

# 真除法

x / y

# 截斷除法

x // y

x = 8

y = 2

z = 3

print(x / y)

print(x / z)

示例結果:

4.0

2.6666666666666665

真除法的結果表明不論運算元的型別其相除結果都返回乙個浮點結果。

x = 8

y = 2

z = 3

s = -8

print(x // y)

print(x // z)

print(s // y)

print(s // z)

示例結果:

42-4

-3

從示例中我們可以看到,截斷除法並不是真的直接去掉小數點後面的數字,而是類似模組math中的floor方法,即向下取整,且負值的取整方式也是這樣的。

import math

math.floor(2.0)

math.floor(2.6666666666666665)

math.floor(-2.0)

math.floor(-2.6666666666666665)

示例結果:

22-2

-3

同樣的模組math中的ceil方法可以實現浮點數的上取整。

import math

print(math.ceil(2.0))

print(math.ceil(2.6666666666666665))

print(math.ceil(-2.0))

print(math.ceil(-2.6666666666666665))

23-2

-2

python2與python3中除法的區別

python2中的除法 1 2 即乙個整數 無小數部分的數 被另外乙個整數除,計算結果的小數部分被截除了,只留下了整數部分 有時候,這個功能比較有用,譬如在做一些需要取位數上的值時可以利用此特性用於迴圈結束等,但通常,大家用不到這種。那麼,有兩種解決方式 1 用實數 包含小數點的數 而不是整數進行運...

python2和python3 中的除法的區別

1.python2中有 和 的除法區別 其中 的用法 1 2 即乙個整數 無小數部分的數 被另外乙個整數除,計算結果的小數部分被截除了,只留下了整數部分 有時候,這個功能比較有用,譬如在做一些需要取位數上的值時可以利用此特性用於迴圈結束等,但通常,大家用不到這種。那麼,有兩種解決方式 1 用實數 包...

Python 2 到 3 系列 關於除法的餘數

v2.2 以前,除 運算子的返回有兩種可能情況,分別是整型和浮點型。運算元的不同,是影響計算結果資料型別的關鍵。以 a b 為例,a b均為整型,則結果返回整型 a b任意乙個是浮點型的話,則結果就是浮點型。python v2.7 3 2,3.0 2,3.0 2.0 1,1.5,1.5 在某些場合,...