Módulo 6 - Operadores e cálculos

Prática: sua calculadora simples no terminal

10 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026

O que você vai aprender

  • Ler dois números do usuário e convertê-los com float().
  • Calcular soma, subtração, multiplicação, divisão, média e porcentagem.
  • Montar a saída do programa com prints organizados e legíveis.
  • Estender o programa por conta própria com os desafios extras.

A missão desta prática

Toda prática do curso segue o mesmo espírito: nada de conceito novo, só os das aulas anteriores trabalhando juntos. A missão de hoje é um programa que conversa com o usuário, pede dois números e devolve um painel com seis cálculos. É a primeira vez no curso que você escreve algo que faria sentido usar de verdade, tipo conferir a divisão de uma conta ou a porcentagem de um desconto.

  1. Mostrar um título, para o programa se apresentar.
  2. Ler o primeiro número com input e converter com float().
  3. Ler o segundo número do mesmo jeito.
  4. Calcular soma, subtração, multiplicação e divisão dos dois.
  5. Calcular a média e a porcentagem que o primeiro representa do segundo.
  6. Imprimir os seis resultados, um por linha, com rótulo claro.

Antes de seguir para a próxima seção, abra o Playground e tente montar pelo menos os passos 1 a 4 sozinho. Errar aqui custa zero e ensina muito: a sensação de travar, consultar a aula certa e destravar é exatamente o músculo que esta prática treina. Quando tiver a sua versão, ou quando tiver esgotado as tentativas, siga em frente e compare.

Construindo passo a passo

Vamos montar juntos, começando pela entrada. O padrão você conhece da aula 1: input para perguntar, float() para converter. Usamos float, e não int, porque uma calculadora digna do nome aceita 7.5, não só 7. Os nomes a e b são curtos de propósito: num programa pequeno de contas genéricas, nomes longos como primeiro_numero só adicionam ruído.

print("=== CALCULADORA SIMPLES ===")

a = float(input("Digite o primeiro número: "))
b = float(input("Digite o segundo número: "))

Título e leitura dos dois números. Sem o float(), as contas da próxima etapa quebrariam ou sairiam erradas.

Agora as contas. As quatro primeiras são os operadores da aula 1 em linha reta. A média usa a definição: soma dos dois dividida por 2, e os parênteses em (a + b) / 2 são OBRIGATÓRIOS, porque sem eles a precedência da aula 3 faria b / 2 primeiro e somaria com a, entregando uma média errada sem nenhum aviso. A porcentagem responde quantos por cento a representa de b: divide a por b e multiplica por 100.

soma = a + b
subtracao = a - b
multiplicacao = a * b
divisao = a / b
media = (a + b) / 2
porcentagem = a / b * 100

As seis contas, cada uma guardada numa variável de nome claro. Na porcentagem, a precedência já resolve a divisão antes da multiplicação.

Falta a saída. Aqui entra um capricho que separa programa amador de programa cuidado: cada linha do resultado tem um rótulo dizendo o que o número significa. Um monte de números soltos na tela obriga o usuário a adivinhar; rótulo é respeito com quem lê.

Código final e desafios extras

Abaixo está o programa completo, com a saída de exemplo para a = 10 e b = 20 nos comentários do fim. Digite o seu no Playground (digite, não cole) e rode com valores variados: inteiros, decimais, um número maior que o outro e vice-versa. Confira em especial a porcentagem: 10 sobre 20 dá 50.0, dizendo que 10 é 50% de 20.

print("=== CALCULADORA SIMPLES ===")

a = float(input("Digite o primeiro número: "))
b = float(input("Digite o segundo número: "))

soma = a + b
subtracao = a - b
multiplicacao = a * b
divisao = a / b
media = (a + b) / 2
porcentagem = a / b * 100

print("Soma:", soma)
print("Subtração:", subtracao)
print("Multiplicação:", multiplicacao)
print("Divisão:", divisao)
print("Média:", media)
print("O primeiro é", porcentagem, "% do segundo")

# Com a = 10 e b = 20, a saída é:
# Soma: 30.0
# Subtração: -10.0
# Multiplicação: 200.0
# Divisão: 0.5
# Média: 15.0
# O primeiro é 50.0 % do segundo

A calculadora completa: 3 blocos (entrada, cálculo, saída) e nenhum conceito além dos deste módulo.

Funcionou? Então registre o momento: esse programa usa entrada de dados, conversão de tipo, quatro operadores aritméticos, precedência e parênteses. Metade do curso até aqui está condensada em vinte linhas. E ele ainda cresce: no módulo 8 você o embrulha num menu que repete até o usuário sair, e no módulo 14 ele volta blindado contra texto no lugar de número e contra a divisão por zero.

Faça pelo menos o primeiro desafio antes da mini-prova: ele reaproveita a estrutura da calculadora quase inteira, e reescrever variação de programa conhecido é o exercício com melhor custo-benefício do aprendizado. Depois, mini-prova, medalha do módulo 6 e rumo ao módulo 7, onde o if finalmente deixa os seus programas tomarem decisões com as comparações e a lógica que você acabou de dominar.

Teste rápido

Com a = 10 e b = 20, por que a expressão a + b / 2 NÃO calcula a média corretamente?

Perguntas frequentes

Por que usar float() e não int() na calculadora?
Porque calculadora de verdade aceita números com casas decimais, como 7.5 ou 19.90. O int() rejeitaria essas entradas com ValueError. O float() aceita tanto inteiros quanto decimais digitados pelo usuário, então é a conversão certa para este programa.
O que acontece se o usuário digitar zero como segundo número?
A linha da divisão dispara um ZeroDivisionError e o programa para ali, porque dividir por zero é impossível. No módulo 14 você aprende try e except, as ferramentas para capturar esse erro e responder com uma mensagem amigável em vez de deixar o programa cair.
E se o usuário digitar texto em vez de número?
O float() não consegue converter e o programa para com ValueError, apontando a linha. É o comportamento esperado por enquanto: a versão blindada da calculadora, que reage com elegância a entradas erradas, é justamente o projeto do módulo 14. Cada coisa no seu tempo.
Como calculo a porcentagem no sentido contrário, do segundo sobre o primeiro?
Invertendo a divisão: b / a * 100. Com a = 10 e b = 20, sai 200.0, ou seja, o segundo número é 200% do primeiro. Adicionar essa linha à sua calculadora é um bom exercício de um minuto, e ajuda a fixar qual valor vai no numerador.
Por que os resultados aparecem com .0 no final, como 30.0?
Porque a e b viraram float na conversão do input, e conta com float devolve float, como você viu na aula 1. Para exibição mais bonita, o curso apresenta a função round() e as f-strings no módulo 12, que formatam casas decimais do jeito que você quiser.
Meu código ficou diferente do gabarito. Está errado?
Não necessariamente. Se lê os dois números, calcula as seis operações corretamente e imprime com rótulos claros, está certo, mesmo com nomes de variáveis diferentes ou prints organizados de outro jeito. Em programação, soluções distintas para o mesmo problema são a regra, não a exceção.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.