Python 中的向上取整除法

Vaibhav Vaibhav 2023年10月10日
  1. 在 Python 中使用 // 運算子進行向上取整除法
  2. 在 Python 中使用 math.ceil() 函式進行向上取整除法
Python 中的向上取整除法

向上取整除法返回大於或等於當前答案或商的最接近整數。在 Python 中,我們有一個運算子 // 用於向下取整除法,但不存在用於向上取整除法的運算子。本文將討論我們在 Python 中執行向上取整除法的不同方式。

在 Python 中使用 // 運算子進行向上取整除法

我們可以使用 so math 和 floor Division // 在 Python 中執行向上取整除法。參考以下程式碼。

def ceil(a, b):
    return -1 * (-a // b)


print(ceil(1, 2))
print(ceil(5, 4))
print(ceil(7, 2))
print(ceil(5, 3))
print(ceil(121, 10))

輸出:

1
2
4
2
13

我們所做的事情如下。

  • -a // b 將返回相同的答案,但與 a // b 的符號相反。
  • 因為在負數方面,-a 大於 -(a + 1),其中 a 是一個正數,// 運算子將返回一個略小於實際答案的整數。例如,如果正常除法的答案是 -1.25,則返回的下限值將為 -2(最接近 -1.25 的最小整數)。
  • 通過將 -1(-a // b) 的中間答案或結果相乘,我們將得到具有預期符號的答案。返回值本質上是向上取整除法的結果。

在 Python 中使用 math.ceil() 函式進行向上取整除法

Python 有一個 math 包,裡面有很多執行數學運算的函式和實用程式。一個這樣的函式是 ceil() 函式。此函式返回傳遞數字的上限值。例如,如果我們將 2.3 傳遞給這個函式,它將返回 3。我們將正常除法的結果傳遞給該函式並返回其 ceil 值。有關更多示例及其用法,請參閱以下程式碼。

from math import ceil

print(ceil(1 / 2))
print(ceil(5 / 4))
print(ceil(7 / 2))
print(ceil(5 / 3))
print(ceil(121 / 10))

輸出:

1
2
4
2
13
作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

相關文章 - Python Math