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 1
Linguagem de código: texto simples ( texto simples )
Ou coloque de outra forma:
101 = 4 * 25 + 1
Linguagem de código: texto simples ( texto simples )
Python usa dois operadores //
e %
retorna o resultado da divisão:
101 // 4 = 25
101 % 4 = 1
Linguagem 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 + 1
Linguagem 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) = 3
Linguagem 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.4
retornos -4
não é -3
baseado na definição do piso. Da mesma forma, o piso de -3.9
também retorna -4
.
floor(-3.4) = -4
floor(-3.9) = -4
floor(-3) = -3
Linguagem 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
-4
Linguagem de código: texto simples ( texto simples )
A tabela a seguir ilustra a divisão mínima de dois inteiros a
e 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 math
mó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 afloor()
função domath
módulo para obter a divisão de piso de dois inteiros.