python中的除法,取整和求模

2021-08-21 08:25:17 字數 2684 閱讀 4645

1. /是精確除法,//是向下取整除法,%是求模

2. %求模是基於向下取整除法規則的

3. 四捨五入取整round, 向零取整int, 向下和向上取整函式math.floor, math.ceil

4. //和math.floor在cpython中的不同

5. /在python 2 中是向下取整運算

6. c中%是向零取整求模。

1. 乙個測試程式和它的輸出 

2. 取整和求模運算規則 

3. python中其他的取整運算 

4. //和math.floor在cpython中的不同 

5. 運算子/在python 2 和python 3 中的區別 

6. 其他討論(求餘和求模)

測試程式如下(python 3.4):

print('usage of 3 operators /, // and % in python 3.4')

print('1). usage of /')

print ('10/4 = ', 10/4)

print ('-10/4 = ', -10/4)

print ('10/-4 = ', 10/-4)

print ('-10/-4 = ', -10/-4)

print('\n2). usage of //')

print ('10//4 = ', 10

//4)

print ('-10//4 = ', -10

//4)

print ('10//-4 = ', 10

//-4)

print ('-10//-4 = ', -10

//-4)

print('\n3). usage of %')

print ('10%4 = ', 10

%4)print ('-10%4 = ', -10

%4)print ('10%-4 = ', 10

%-4)

print ('-10%-4 = ', -10

%-4)

usage of 3 operators /, // and % in python 3.4

1). usage of /

10/4 = 2.5

-10/4 = -2.5

10/-4 = -2.5

-10/-4 = 2.5

2). usage of //

10//4 = 2

-10//4 = -3

10//-4 = -3

-10//-4 = 2

3). usage of %

10%4 = 2

-10%4 = 2

10%-4 = -2

-10%-4 = -

2

變化一下,已知被除數和餘數,模可以通過商計算出來,計算公式如下: 

模=被除數-除數*商 (方程2)

>>>round(3.5)

4>>>round(-3.5)

-4>>>round(3.49)

3>>>round(-3.49)

-3

>>>int(3.99)

3>>>int (-3.99)

-3

>>>from math import floor, ceil

>>>floor(3.99)

3>>>floor(-3.-1)

-4>>>ceil(3.01)

4>>>ceil(-3.99)

-3

>>>from math import floor

>>>3//5 == floor(3/5)

true

>>>1

== floor(1/0.05)

false

>>> 

1/0.05

20.0

>>>

119.0

>>> floor(1/0.05)

20

ps:jython下可以得到20.0,而pep裡規定了a // b應該等於round(a/b),所以似乎這是cpython實現的乙個bug?

print ('10/4 = ', 10/4)

print ('-10/4 = ', -10/4)

print ('10/-4 = ', 10/-4)

print ('-10/-4 = ', -10/-4)('1

輸出:('

10/4 = ', 2)

('-10/4 = ', -3)

('10/-4 = ', -3)

('-10/-4 = ', 2)

一篇文章(討論求餘和求模的區別 , 原文中列了乙個**,我拷貝在下面 

原作者認為: 取模運算時,向0 方向捨入(fix()函式); 求餘運算時,向無窮小方向捨入(floor()函式)。

python中的除法,取整和求模

先說核心要點 1.是精確除法,是向下取整除法,是求模 2.求模是基於向下取整除法規則的 3.四捨五入取整round,向零取整int,向下和向上取整函式math.floor,math.ceil 4.和math.floor在cpython中的不同 5.c中 是向零取整求模。下面按順序介紹 1.乙個測試程...

python中的除法和取模

1.除法運算 1.1 有乙個運算元為負數 被除數到除數的距離整除除數,得到的數字加上符號便得到結果。例如 27 10 27到10的距離為37,37 10 3,於是 3便是表示式的結果。27 10 27到 10的距離為37,37 10 3,於是 3便是表示式的結果。1.2 運算元全為正數 略 1.3 ...

excel中取整和取模函式

取整int x 較為簡單,它的意義是將乙個數值去掉小數部分變為整數,這個整數小於等於原數值。正數直接擷取整數部分 不存在四捨五入 如int 45.456 45 但負數 含有小數 取整後值變為擷取整數部分再加 1,如int 34.25 35。round number,digits 按位數進行四捨五入取...