Na aula de hoje, nós vamos criar nossa primeira calculadora em Python. Vamos aprender como fazer soma, subtração, multiplicação, divisão, potência e até descobrir o resto de uma divisão

E no final da aula, vamos juntar tudo o que aprendemos até agora para construir um pequeno programa que recebe dois números do usuário e realiza vários cálculos automaticamente.

Antes, vamos lembrar rapidamente do que já aprendemos.

Na primeira aula, vimos como utilizar o print para mostrar informações na tela e o input para receber informações do usuário.

Na segunda aula, aprendemos sobre variáveis e os principais tipos de dados do Python, como str, int, float e bool.

Agora vamos juntar esses conhecimentos e começar a fazer cálculos.

O Python possui vários operadores aritméticos.

Alguns deles provavelmente já são familiares.

Utilizamos o sinal de mais para soma (+) e o sinal de menos para subtração (-).

Para multiplicação, utilizamos um asterisco (*).

E para divisão, utilizamos uma barra (/).

Mas também existem outros operadores muito importantes.

Dois asteriscos representam uma potência (**).

Duas barras fazem uma divisão inteira (//).

E o símbolo de porcentagem é utilizado para descobrir o resto de uma divisão (%).

Vamos entender cada um deles na prática.

Vamos começar pelas operações mais simples.

Podemos pedir para o Python calcular 10+ 5.

Executando, temos 15.

10 – 5 resulta em 5.

10 * 5 resulta em 50.

E 10 / 5 resulta em 2.0.

Mas repare que o Python mostrou 2.0.

Por que isso aconteceu?

Isso está relacionado justamente ao que aprendemos na aula anterior.

Quando utilizamos o operador de divisão, representado por uma barra, o Python retorna um número do tipo float.

Podemos confirmar isso utilizando a função type.

Então mesmo que o resultado matematicamente seja dois, o Python representa o resultado da divisão como 2.0.

Agora temos o operador de potência.

Em Python, utilizamos dois asteriscos.

Por exemplo, dois elevado à terceira potência pode ser escrito dessa forma.

2**3

Antes de executar, tente imaginar qual será o resultado.

Executando, temos 8.

Isso porque dois elevado a três significa dois vezes dois vezes dois.

Também temos dois tipos diferentes de divisão.

Se escrevermos dez dividido por três utilizando apenas uma barra, recebemos um número decimal (10 / 3).

Mas se utilizarmos duas barras, o Python realiza uma divisão inteira (10 // 3).

Nesse caso, o resultado será três.

Por enquanto, o importante é saber que uma barra representa a divisão normal e duas barras representam a divisão inteira.

Agora chegamos a um operador que costuma causar alguma confusão quando estamos começando.

O símbolo de porcentagem (%).

Dentro dessa situação, ele não significa porcentagem.

Ele representa o operador chamado módulo.

E serve para descobrir o resto de uma divisão.

Por exemplo, dez dividido por três dá três e sobra um.

Então, se escrevermos 10 % 3, o Python retorna um.

Agora vamos experimentar dez módulo dois.

O resultado é zero.

Isso significa que dez pode ser dividido por dois sem deixar resto.

E isso vai ser extremamente útil mais adiante.

Por exemplo, podemos utilizar esse operador para descobrir se um número é par ou ímpar. Guarde essa informação, porque vamos voltar a ela quando começarmos a fazer nossos programas tomarem decisões.

Até agora estamos colocando os números diretamente nas operações.

Mas podemos utilizar variáveis.

Vamos criar uma variável chamada numero1 e armazenar o valor dez.

Depois criamos numero2 e armazenamos cinco.

Agora podemos criar outra variável chamada soma.

E o valor dela será numero1 mais numero2.

Quando imprimimos soma, recebemos quinze.

Podemos fazer exatamente a mesma coisa com as outras operações.

E isso começa a deixar nosso programa muito mais interessante.

numero1 = 10
numero2 = 5
soma = numero1 + numero2
print(soma)

Mas ainda estamos escolhendo os números diretamente dentro do código.

Seria muito melhor se a pessoa que estivesse utilizando o programa pudesse escolher os números.

E nós já sabemos como fazer isso.

Podemos utilizar input.

Vamos pedir o primeiro número e depois o segundo.

Agora vou digitar dez e cinco.

E vamos somar.

Só que olha o resultado…

Cento e cinco.

Nosso Python desaprendeu matemática?

Na verdade, não.

Se você assistiu à aula anterior, provavelmente já sabe o que aconteceu.

O input retorna uma string.

Então o Python não recebeu o número dez e o número cinco.

Ele recebeu o texto “10” e o texto “5”.

Quando utilizamos o sinal de mais entre duas strings, o Python junta os textos.

Por isso tivemos 105.

Agora temos tudo o que precisamos para criar nossa primeira calculadora.

Vamos começar mostrando uma mensagem para identificar nosso programa.

Depois pedimos o primeiro número.

E o segundo número.

Os dois serão convertidos para float.

Agora criamos as operações.

Primeiro, a soma.

Depois, a subtração.

A multiplicação.

E finalmente, a divisão.

Agora precisamos mostrar os resultados.

numero1 = float(input("Número 1: "))
numero2 = float(input("Número 2: "))
print("Soma:", numero1 + numero2)
print("Subtração:", numero1 - numero2)
print("Multiplicação:", numero1 * numero2)
print("Divisão:", numero1 / numero2)

Você acabou de criar sua primeira calculadora em Python.

Ela ainda é bastante simples.

Ela realiza todas as operações ao mesmo tempo.

Mais adiante vamos melhorar bastante esse programa e permitir que o usuário escolha qual operação deseja realizar.

Existe ainda uma coisa muito importante quando trabalhamos com cálculos.

Observe esta expressão.

10 + 5 * 2

Qual será o resultado?

Trinta?

Ou vinte?

Vamos executar.

O resultado é vinte.

Isso acontece porque o Python respeita a prioridade das operações matemáticas.

A multiplicação é realizada antes da soma.

Primeiro cinco vezes dois, que resulta em dez.

Depois dez mais dez, resultando em vinte.

Mas podemos alterar essa ordem utilizando parênteses.

Se colocarmos dez mais cinco entre parênteses, essa operação será realizada primeiro.

Temos quinze.

Depois multiplicamos por dois.

E agora o resultado é trinta.

Então lembre-se: os parênteses também são importantes para deixar claro qual operação deve acontecer primeiro.

A ordem que o python realizará as operações será primeiro o que estiver entre parênteses, depois as potências, em seguida multiplicação e divisão e por último soma e subtração

Agora quero mostrar um problema na nossa calculadora.

Vamos executar novamente.

Mas dessa vez vou colocar dez como primeiro número e zero como segundo.

E…

Erro.

Isso acontece porque matematicamente não podemos realizar uma divisão por zero.

E nossa calculadora ainda não sabe o que fazer quando isso acontece.

Mas não vamos corrigir isso agora.

Porque essa será justamente uma das coisas que aprenderemos na próxima aula.

Vamos ensinar o Python a analisar uma situação e decidir o que deve fazer.

Antes de terminar, temos o desafio da aula.

Dessa vez quero que você crie uma calculadora de desconto.

Seu programa deve perguntar o preço de um produto.

Depois deve perguntar qual será a porcentagem de desconto.

Imagine, por exemplo, um produto que custa duzentos reais e possui dez por cento de desconto.

Seu programa deverá calcular o valor do desconto e depois mostrar o preço final do produto.

Nesse exemplo, teríamos vinte reais de desconto e o produto passaria a custar cento e oitenta reais.

Tente resolver utilizando apenas aquilo que aprendemos até agora.

E não se preocupe se não conseguir de primeira.

Errar faz parte da programação.

O importante é tentar entender onde está o problema e testar possíveis soluções.

Então vamos revisar rapidamente.

Hoje aprendemos os principais operadores aritméticos do Python.

O sinal de mais para soma.

Menos para subtração.

Asterisco para multiplicação.

Barra para divisão.

Duas barras para divisão inteira.

O símbolo de porcentagem para descobrir o resto da divisão.

E dois asteriscos para potência.

Também aprendemos a utilizar esses operadores com variáveis e com valores recebidos através do input.

E juntamos tudo isso para criar nossa primeira calculadora.

Mas ainda existe uma grande limitação.

Nosso programa sempre executa as mesmas instruções.

Ele ainda não consegue decidir o que fazer.

E se pudéssemos dizer:

se o segundo número for diferente de zero, faça a divisão.

Caso contrário, mostre uma mensagem dizendo que não é possível dividir por zero.

É exatamente isso que vamos aprender na próxima aula.

Vamos conhecer if, elif e else.

E a partir daí nossos programas vão começar a tomar decisões.