Python 中的向上取整除法
Vaibhav Vaibhav
2023年10月10日
向上取整除法返回大於或等於當前答案或商的最接近整數。在 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