python整除和取餘

2022-09-29 01:24:11 字數 611 閱讀 3311

//:向下取整

int():向0取整

正數的取餘比較直接:

print(123%10) #3
這裡結果為3。

但是換為負數取餘,情況就有所不同:

print(-123%10) #7

print(-123%-10) #-3

這裡面第二條是我們一般意義上的取餘操作。這裡也特別標註一下,如果涉及到負數取余要用上述解決辦法。

那麼我們看第一條,結果等於7。這個結果有點讓人摸不到頭腦,不過這個結果與python的底層機制有關。

在python中,取餘的計算公式與別的語言並沒有什麼區別:r=a-n*[a//n]

這裡r是餘數,a是被除數,n是除數。

不過在「a//n」這一步,當a是負數的時候,我們上面說了,會向下取整,也就是說向負無窮方向取整。這也就得到:

-123%10 = -123 - 10 * (-123 // 10) = -123 - 10 * (-13) = 7
這裡還不得不提的是

print(123%-10) #-7

負數取餘 整除,Python和C語言的不同

總結一句 python中負數整除,是向負無窮取整,所以導致負數取餘不對 在數學公式中,兩種語言的表示演算法都是一樣的,都是 r a n a n 以上,r是餘數,a是被除數,n是除數。唯一不同點,就是商向0或負無窮方向取整的選擇,c從c99開始規定向0取整,python則規定向負無窮取整,選擇而已。向...

python基礎知識之整除 取餘 冪運算

python直譯器可以當作計算器使用 2 2 4乙個整數被另乙個整數除,計算結果的小數部分被截去,只保留整數部分。如果參與除法的兩個數中有乙個為浮點數,運算結果為浮點數。1 2 0 1.0 2.0 0.5 1.0 2 0.5 1 2.0 0.5 1 2.0.5如果 希望只執行簡單除法,例如1 2 0...

取餘和取模

對於整型數a,b來說,取模運算或者求餘運算的方法都是 1.求 整數商 c a b 2.計算模或者餘數 r a c b.但是求模運算和求餘運算在第一步不同 求餘運算在取c的值時,向0 方向捨入 int強制轉換 而取模運算在計算c的值時,向負無窮大方向捨入 floor 函式 因此,當a和b符號一致時,求...