Escolar Documentos
Profissional Documentos
Cultura Documentos
print(80+50)
vai apresentar na tela o valor 130 [integer].
print(90-30)
vai resultar no aparecimento do número 60 [integer].
Se você utilizar o operador * com dois números, você os multiplica. Logo, o código
print(30*4)
vai mostrar na tela o número 120 [integer].
Por fim, se você utiliza o operador /, você divide o primeiro número pelo segundo.
Portanto,
print(20/5)
vai apresentar, na tela, o número 4.0 [float]. [toda operação de divisão resulta num
número float]
Se você utilizar o operador ** [asterisco duplo], você estará elevando o primeiro número
à potência do segundo número. Isso significa que o código
print(3**2)
vai apresentar o número 9 [integer] como resultado na tela. [afinal, 32 é 9].
Todos esses já havíamos visto. Vamos a dois outros operadores relacionados à divisão
entre dois números:
O operador // [barra dupla] é usado para obter o quociente de uma divisão inteira
[integer].
O que são essas duas? Ahhh... você lembra da escola? Quando a gente aprendeu a
calcular uma divisão com resto? Era aquele tipo de cálculo que aqui chamamos de
"divisão inteira" – uma divisão que usa apenas números inteiros.
Dá uma olhada na imagem a seguir, em que divido 14 por 3, obtendo 4 com resto 2:
14 3
4 ß resultado do cálculo 14 // 3
Então, é simples:
A pergunta que fica no ar é: como o Python entende [e resolve] uma expressão como
essa? É só ler as operações da esquerda para a direita e calcular uma a uma em
sequência?
Calma, caro leitor, estimada leitora! O Python tem uma forma "organizada" de ler as
expressões matemáticas e de resolvê-las... Acompanhe a tabela abaixo:
30 + 160 // 2 ** 5 / 5 – 12
A primeira coisa que o Python vai resolver é a potência, ou seja, o 2 ** 5. Isso dá 32.
[integer]
30 + 160 // 32 / 5 – 12
Depois, todas as multiplicações, divisões e restos em ordem, da esquerda para a direita.
Então, fará logo a resolução do trecho 160 // 32. O resultado disso é 5 [integer] – divisão
inteira.
30 + 5 / 5 – 12
Agora, resolve-se o 5 / 5, que resulta em 1.0. [float] – lembre-se: divisão simples retorna
um float.
30 + 1.0 – 12
Agora é só soma e subtração. O resultado disto é 19.0. [float]
40 – 8 * 3
O Pyhton vai resolver essa expressão assim: [a] primeiro, resolve a multiplicação 8 * 3,
que dá 24; [b] depois, resolve a subtração 40 – 24, que dá 16. O resultado, portanto, é
16!
Você poderá precisar, se seu cálculo for muito complexo, de vários níveis de parênteses.
Um dentro do outro, como veremos no exemplo a seguir:
3 * (10 // (2 + 3) + 8 * (4 – 3) + 2 ** (8 // (3 + 1) + 1))
Como o Python vai resolver isso? Acompanha a sequência:
3 * (10 // (2 + 3) + 8 * (4 – 3) + 2 ** (8 // (3 + 1) + 1))
3 * (10 // 5 + 8 * 1 + 2 ** (8 // 4 + 1))
(B) Agora, podemos analisar os cálculos que têm prioridades dentro de cada
parêntese restante:
3 * (10 // 5 + 8 * 1 + 2 ** (8 // 4 + 1))
3 * ( 2 + 8 + 2 ** ( 2 + 1))
(C) Agora, o Python irá resolver aquele parêntese interno e aquela soma entre os dois
itens iniciais:
3 * (2 + 8 + 2 ** (2 + 1))
3 * ( 10 + 2 ** 3 )
(D) Hora de resolver a potência, né? Depois somá-la ao 10 inicial para resolver os
parênteses principais:
3 * (10 + 2 ** 3)
3 * (10 + 8)
3 * (18)
54
Lembre-se de que é o Python que vai fazer esses cálculos. Não Você! É importante,
porém, que você saiba exatamente como ele faz esses cálculos, porque você saberá
escrevê-los de maneira a obter o resultado que deseja. Afinal, escrever uma equação de
maneira errada trará resultados diferentes!
5.3.2. O que vai ser apresentado na tela quando o programa abaixo for
executado?
print("Calculadora " * 3)
print('Primeiros', 3 * 'testes ')
print(80 + 40 // 3 % 3)
print((100 - 60) / 20 + 3 ** 2)
print("Salva de", 7 * 3, "tiros")
print((3 * ((3 + 4 % 3) * 2 + 3) - 12) * 'bum ')
Escreva a saída [o resultado que aparecerá na tela do programa] aqui em baixo: