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 按位數進行四捨五入取...