División de techo en Python

Vaibhav Vaibhav 10 octubre 2023
  1. División de techo usando el operador // en Python
  2. División de techo usando la función math.ceil() en Python
División de techo en Python

La división de techo devuelve el número entero más cercano mayor o igual a la respuesta o cociente actual. En Python, tenemos un operador // para la división del piso, pero no existe tal operador para la división del techo. Este artículo hablará sobre las diferentes formas en que podemos realizar la división del techo en Python.

División de techo usando el operador // en Python

Podemos usar las matemáticas y la división de piso // para realizar la división de techo en Python. Consulte el siguiente código.

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))

Producción :

1
2
4
2
13

Lo que hicimos fue lo siguiente:

  • -a // b devolverá la misma respuesta pero con el signo opuesto en comparación con a // b.
  • Dado que en el lado negativo, -a es mayor que -(a + 1), donde a es un número positivo, el operador // devolverá un número entero un poco más pequeño que la respuesta real. Por ejemplo, si la respuesta de la división normal fue -1.25, el valor mínimo devuelto será -2 (el entero más pequeño más cercano a -1.25).
  • Multiplicando -1 por la respuesta intermedia o resultado de (-a // b), obtendremos la respuesta con su signo esperado. El valor devuelto es esencialmente el resultado de la división del techo.

División de techo usando la función math.ceil() en Python

Python tiene un paquete math que está lleno de funciones y utilidades para realizar operaciones matemáticas. Una de esas funciones es la función ceil(). Esta función devuelve el valor máximo del número pasado. Por ejemplo, si pasamos 2.3 a esta función, devolverá 3. Pasaremos el resultado de la división normal a esta función y devolveremos su valor ceil. Consulte el siguiente código para ver algunos ejemplos más y su uso.

from math import ceil

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

Producción :

1
2
4
2
13
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.

Artículo relacionado - Python Math