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 // b
devolverá la misma respuesta pero con el signo opuesto en comparación cona // b
.- Dado que en el lado negativo,
-a
es mayor que-(a + 1)
, dondea
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