Divisão Piso Python

Resumo : neste tutorial, você aprenderá sobre o operador de divisão de piso Python (//) ou mod.

Introdução à divisão de piso Python

Suponha que você tenha uma divisão de dois inteiros:

101 / 4

Nesta divisão, 101 é chamado de numerador ( N) e 4 é chamado de denominador ( D).

A divisão inteira 101/4 retorna 25 com o resto 1. Em outras palavras:

101 / 4 = 25 with remainder 1Linguagem de código:  texto simples  ( texto simples )

Ou coloque de outra forma:

101 = 4 * 25 + 1Linguagem de código:  texto simples  ( texto simples )

Python usa dois operadores //e % retorna o resultado da divisão:

101 // 4 = 25
101 % 4 = 1Linguagem de código:  texto simples  ( texto simples )

O //é chamado de operador de divisão de piso ou div. E %é chamado de operador de módulo ou mod.

Este tutorial se concentra no operador de divisão de piso. Você aprenderá sobre o operador módulo no tutorial a seguir .

Os operadores de divisão de piso e de módulo satisfazem a seguinte equação:

101 = 4 * (101 // 4) + (101 % 4)
101 = 4 * 25         + 1Linguagem de código:  texto simples  ( texto simples )

Geralmente, se Né o numerador e Dé o denominador, então os operadores de divisão de piso e módulo sempre satisfazem a seguinte equação:

N = D * ( N // D) + (N % D)Linguagem de código:  texto simples  ( texto simples )

A divisão de piso em Python

Para entender a divisão de piso, primeiro você precisa entender o piso de um número real.

O piso de um número real é o maior número inteiro menor ou igual ao número. Em outras palavras:

floor(r) = n, n is an integr and n <= r Linguagem de código:  texto simples  ( texto simples )

Por exemplo, o piso de 3,4 é 3 porque 3 é o maior número inteiro menor ou igual a 3,4. O piso de 3,9 também é 3. E o piso de 3 é 3 obviamente:

floor(3.4) = 4
floor(3.9) = 3
floor(3) = 3Linguagem de código:  texto simples  ( texto simples )

Para os números positivos, seria fácil entender a definição. No entanto, você deve prestar atenção quando se trata de números negativos.

Por exemplo, o piso dos -3.4retornos -4não é -3baseado na definição do piso. Da mesma forma, o piso de -3.9também retorna -4.

floor(-3.4) = -4
floor(-3.9) = -4
floor(-3) = -3Linguagem de código:  texto simples  ( texto simples )

A divisão do piso pode ser definida como:

n // d = floor(n/d)Linguagem de código:  texto simples  ( texto simples )

Observe que a divisão mínima de um número nem sempre é igual ao truncamento. A divisão do piso é igual ao truncamento apenas quando os números são positivos.

Exemplos de operadores de divisão de piso Python

O exemplo a seguir usa os operadores de divisão de piso com números inteiros positivos e negativos:

a = 10
b = 3

print(a//b)  # 3

a = -10
b = -3

print(a//b)  # 3

a = 10
b = -3
print(a//b)  # -4

a = -10
b = 3
print(a//b)  # -4
Linguagem de código:  texto simples  ( texto simples )

Saída:

3
3
-4
-4Linguagem de código:  texto simples  ( texto simples )

A tabela a seguir ilustra a divisão mínima de dois inteiros ae b:

a b uma // b
10 3 3
-10 -3 3
10 -3 -4
-10 3 -3

Função Python math.floor()

A floor()função do mathmódulo retorna a divisão mínima de dois inteiros. Por exemplo:

from math import floor

a = 10
b = 3

print(a//b)  # 3
print(floor(a/b))  # 3
Linguagem de código:  Python  ( python )

Saída:

3
3

Como você pode ver claramente na saída, a floor()função retorna o mesmo resultado que o operador de divisão de piso ( //). Também é verdade para os números negativos:

from math import floor

a = 10
b = -3

print(a//b)  # -4
print(floor(a/b))  # -4
Linguagem de código:  Python  ( python )

Saída:

-4
-4

Resumo

  • Python usa // como operador de divisão de piso e %como operador de módulo.
  • Se o numerador for N e o denominador D, então esta equação N = D * ( N // D) + (N % D)é sempre satisfeita.
  • Use o operador de divisão de piso //ou a floor()função do mathmódulo para obter a divisão de piso de dois inteiros.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *