Divisão de teto em Python
-
Divisão de teto usando o operador
//em Python -
Divisão de teto usando a função
math.ceil()em Python
A divisão de teto retorna o número inteiro mais próximo maior ou igual à resposta ou quociente atual. Em Python, temos um operador // para divisão de piso, mas não existe tal operador para a divisão de teto. Este artigo irá falar sobre as diferentes maneiras pelas quais podemos realizar a divisão de teto em Python.
Divisão de teto usando o operador // em Python
Podemos usar a divisão matemática e de piso // para realizar a divisão de teto em Python. Consulte o código a seguir.
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))
Resultado:
1
2
4
2
13
O que fizemos foi o seguinte -
-a // bretornará a mesma resposta, mas com o sinal oposto ao dea // b.- Como no lado negativo,
-aé maior que-(a + 1), ondeaé um número positivo, o operador//retornará um número inteiro apenas menor do que a resposta real. Por exemplo, se a resposta da divisão normal for-1.25, o valor mínimo retornado será-2(o menor inteiro mais próximo a-1.25). - Multiplicando
-1pela resposta ou resultado intermediário de(-a // b), obteremos a resposta com o sinal esperado. O valor retornado é essencialmente o resultado da divisão do teto.
Divisão de teto usando a função math.ceil() em Python
Python possui um pacote matemático que é preenchido com funções e utilitários para realizar operações matemáticas. Uma dessas funções é a função ceil(). Esta função retorna o valor máximo do número passado. Por exemplo, se passarmos 2.3 para esta função, ela retornará 3. Vamos passar o resultado da divisão normal para esta função e retornar seu valor ceil. Consulte o código a seguir para obter mais exemplos e seu 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))
Resultado:
1
2
4
2
13
