Em Python, você usa a barra dupla // operador para realizar a divisão do piso. este // O operador divide o primeiro número pelo segundo número e arredonda o resultado para o inteiro mais próximo (ou número inteiro).

Neste artigo, mostrarei como usar o // operador e compará-lo com a divisão regular para que você possa ver como funciona.

Mas não termina aí – você também aprenderá sobre um método matemático Python que é sinônimo de barra dupla // operador.

O que vamos cobrir

A sintaxe básica do // Operador

Para usar a barra dupla // operador, você faz as coisas quase como na divisão regular. A única diferença é que em vez de uma única barra /você usa barra dupla //:

firstNum // secondNum

Exemplos de divisão de piso

No exemplo abaixo, a divisão do piso de 12 por 5 resultou em 2:

num1 = 12
num2 = 5
num3 = num1 // num2

print("floor division of", num1, "by", num2, "=", num3)
# Output: floor division of 12 by 5 = 2

Considerando que, a divisão regular de 12 por 5 seria igual a 2,4. Ou seja, 2 resto 4:

num2 = 5
num3 = num1 / num2

print("normal division of", num1, "by", num2, "=", num3)
# Output: normal division of 12 by 5 = 2.4

Isso mostra que o // operador arredonda para baixo o resultado da divisão de dois números para o número inteiro mais próximo.

Mesmo que a vírgula seja 9, a // operador ainda arredondaria o resultado para o número inteiro mais próximo.

num1 = 29 
num2 = 10 
num3 = num1 / num2
num4 = num1 // num2

print("normal division of", num1, "by", num2, "=", num3)
print("but floor division of", num1, "by", num2, "=", num4)

"""
Output:
normal division of 29 by 10 = 2.9
but floor division of 29 by 10 = 2
"""

E se você realizar a divisão do piso com um número negativo, o resultado ainda será arredondado para baixo.

Para preparar sua mente para o resultado, arredondar para baixo um número negativo significa sair de 0. Então, -12 dividido por 5 resulta em -3. Não se confunda – mesmo que à primeira vista pareça que o número está ficando “maior”, na verdade está ficando menor (mais de zero/um número negativo maior).

num1 = -12
num2 = 5
num3 = num1 // num2

print("floor division of", num1, "by", num2, "=", num3)

# floor division of -12 by 5 = -3

O golpe duplo // Operador funciona como math.floor()

Em Python, math.floor() arredonda um número para o inteiro mais próximo, assim como a barra dupla // operador faz.

Então, math.floor() é uma alternativa ao // operador porque eles fazem a mesma coisa nos bastidores.

Aqui está um exemplo:

import math

num1 = 12
num2 = 5
num3 = num1 // num2
num4 = math.floor(num1 / num2)

print("floor division of", num1, "by", num2, "=", num3)
print("math.floor of", num1, "divided by", num2, "=", num4)

"""
Output:
floor division of 12 by 5 = 2
math.floor of 12 divided by 5 = 2
"""

Você pode ver isso math.floor() faz a mesma coisa que o // operador.

Como a barra dupla // Operador trabalha nos bastidores

Quando você usa o // operador para dividir dois números, o método que é chamado nos bastidores é o __floordiv__().

Você também pode usar este __floordiv__() método diretamente no lugar do // operador:

num1 = 12
num2 = 5
num3 = num1 // num2
num4 = num1.__floordiv__(num2)

print("floor division of", num1, "by", num2, "=", num3)
print("using the floordiv method gets us the same value of", num4)

"""
Output:
floor division of 12 by 5 = 2
using the floordiv method gets us the same value of 2
"""

Conclusão

Neste artigo, você aprendeu como usar a barra dupla // operador e como ele funciona nos bastidores.

Além disso, você aprendeu sobre duas alternativas do // operador – math.floor() e a __floordiv__() método.

Não fique confuso sobre qual usar. As três maneiras de realizar a divisão do piso funcionam da mesma maneira. Mas eu aconselho você a usar a barra dupla // operador porque você começa a digitar menos com ele.

Obrigado por ler.


Source link

Previous articleSitio do Pica Pau Amarelo -1ªTemporada dublado
Next article“A Câmara votou para aprovar um projeto de lei que garantiria o acesso à contracepção, protegendo o direito de comprar e usar contraceptivos sem restrição do governo https://cnn.it/3OkIRgx”|nitter

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.