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.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Prática: sua calculadora simples no terminal.
Os objetivos desta aula. 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.
Veja o essencial, parte por parte.
A missão desta prática. Você vai escrever uma calculadora de terminal que lê dois números e mostra seis resultados.
Construindo passo a passo. Esquecer os parênteses da média: a + b / 2 calcula só b / 2 primeiro e soma com a. Com a = 10 e b = 20, sai 20.0 em vez de 15.0. Sem erro na tela, só resultado errado.
Código final e desafios extras. Juros simples: peça capital, taxa mensal em % e meses, e mostre os juros (capital * taxa / 100 * meses) e o montante final. É a fórmula da aula 3 com entrada do usuário.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
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.
- Mostrar um título, para o programa se apresentar.
- Ler o primeiro número com input e converter com float().
- Ler o segundo número do mesmo jeito.
- Calcular soma, subtração, multiplicação e divisão dos dois.
- Calcular a média e a porcentagem que o primeiro representa do segundo.
- 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 * 100As 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 segundoA 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.