[Python] 負數取餘數

Python 負數取餘數

在 Python 中,取餘數的公式與其他語言一樣為:

r = a - n * [a // n]

其中 r 表示餘數,a 是被除數,n 是除數。

在快上面公式前須先了解 // 在 Python 中的特性。

如果已經熟悉可直接跳至 here

除法

在 Python 中除法有兩種:

  • 真除法(true division): /
  • 向下取整除法(floor division): //

真除法(true division):

運算子: /

此為我們平常熟悉的算數的除法,它得到的是近似的浮點數(float)

10/2 # 5.0
12/10 # 1.2
-12/10 # -1.2

向下取整除法(floor division)

運算子: //

向下取整除法,顧名思義為將除完後的結果執行 floor() 函式無條件捨去小數點。

12//10 # 1, floor(1.2) = 1
-12//10 # -2, floor(-1.2) = -2

負數取餘數

餘數公式: r = a - n * [a // n]

讓我們直接看範例:

-123 % 10
= -123 - 10 * (-123 // 10)
= -123 - 10 * (-13) = 7
-123/10 # 12.3
-123//10 # -13
-123%10 # 7
-1%10 # 9