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