Divisão de teto em Python

Vaibhav Vaibhav 10 outubro 2023
  1. Divisão de teto usando o operador // em Python
  2. Divisão de teto usando a função math.ceil() em Python
Divisão de teto 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 // b retornará a mesma resposta, mas com o sinal oposto ao de a // b.
  • Como no lado negativo, -a é maior que -(a + 1), onde a é 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 -1 pela 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
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.

Artigo relacionado - Python Math