Python中如何取餘數?建議收藏!

老男孩IT教育機構發表於2023-11-13

  在Python中,取餘操作是經常使用的操作之一,而且Python還提供了%運運算元來實現取餘數的功能。那麼Python中如何取餘數?我們從多個角度為大家講解一下。

  1、取整數的餘數

  當我們需要取兩個整數相除的餘數時,我們可以使用%運運算元。例如,要計算13除以5的餘數,可以使用以下程式碼:

  '''

  a=13

  b=5

  c=a%b

  print(c)#輸出為3

  '''

  此程式碼將13除以5,餘數為3。在這個例子中,我們使用了%運運算元來計算餘數。

  2、取浮點數的餘數

  與整數不同,浮點數的餘數不是很直觀。Python中的%運運算元通常只用於整數的取餘數,如果我們使用浮點數,則可能會得到不準確的結果。

  例如,如果我們嘗試計算0.1除以0.02的餘數,可能會得到不準確的結果:

  ```

  a = 0.1

  b = 0.02

  c = a % b

  print(c) # 輸出為0.019999999999999997

  ```

  在這個例子中,我們使用%運運算元來計算餘數,但是得到的結果不是我們期望的精確值。這是因為浮點數在計算機中的儲存方式會導致精度丟失,因此我們不能依賴於%運運算元來計算浮點數的餘數。

  3、取負數的餘數

  當我們需要計算負數的餘數時,可能會遇到一些問題。在Python中,當我們使用%運運算元計算負數的餘數時,結果的符號與除數的符號相同,而不是被除數的符號。

  例如,如果我們嘗試計算-13除以3的餘數,可能會得到不同於我們期望的結果:

  ```

  a = -13

  b = 5

  c = a % b

  print(c) # 輸出為2

  ```

  在這個例子中,我們使用%運運算元來計算餘數,但是得到的結果不是我們期望的-3,而是2。這是因為Python中的%運運算元計算負數的餘數時,結果的符號與除數的符號相同,而不是被除數的符號。

  為了得到正確的結果,我們可以使用以下程式碼:

  ```

  a = -13

  b = 5

  c = (a % b + b) % b

  print(c) # 輸出為2

  ```

  在這個例子中,我們使用一個額外的運運算元來計算負數的餘數。我們首先計算a%b,然後加上b,再對b取餘數。這樣可以確保得到的結果與我們期望的結果一致。

  4、取模運算

  除了%運運算元之外,Python還提供了一個稱為divmod()的函式,它可以同時計算商和餘數。

  例如,如果我們需要計算13除以5的商和餘數,可以使用以下程式碼:

  ```

  a = 13

  b = 5

  c, d = divmod(a, b)

  print(c, d) # 輸出為2 3

  ```

  在這個例子中,我們使用divmod()函式來計算13除以5的商和餘數。函式返回兩個值,分別為商和餘數。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2994988/,如需轉載,請註明出處,否則將追究法律責任。

相關文章