Python的整除和取餘

2022-09-23 00:52:13 字數 661 閱讀 7382

最近做題發現-123%10=7,於是查閱了一下python的取餘機制,這裡記錄。

參考://:向下取整

int():向0取整

正數的取餘比較直接:

print(123%10) #

3

這裡結果為3。

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

print(-123%10) #

7print(-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中的float除法和整除法

從python2 2開始,便有兩種除法運算子 。兩者最大區別在 python2 2前的版本和python2 2以後3 0以前的版本的預設情況...

Python小數向上取整和向下取整

python小數向上取整和向下取整 首先需要匯入math模組 import math小數向上取整使用ceil函式 import math f num 3 1 f num math ceil f num print f num 小數向下取整使用floor函式 import math d num 3 9...

Python中yaml和json檔案的讀取和應用

python對yaml和json檔案的讀取 yaml檔案讀取 首先建立一個yaml檔案test yaml import yaml 引入包 f...