División de techo en Python
- 
          
            División de techo usando el operador //en Python
- 
          
            División de techo usando la función math.ceil()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 // bdevolverá la misma respuesta pero con el signo opuesto en comparación con- a // b.
- Dado que en el lado negativo, -aes mayor que-(a + 1), dondeaes 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 -1por 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
