Módulo 6 - Operadores e cálculos

Soma, subtração, multiplicação e divisão

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

Velocidade

O que você vai aprender

  • Usar os operadores + - * e / em expressões Python.
  • Explicar por que a divisão com / sempre devolve float.
  • Fazer contas com variáveis em vez de números soltos.
  • Calcular com valores digitados pelo usuário, convertidos com float().

Os quatro operadores de sempre

Você conhece esses quatro operadores desde a escola. A única novidade é a grafia: a multiplicação usa o asterisco * (não existe o x da lousa) e a divisão usa a barra /. Soma e subtração são o + e o - de sempre. O Python calcula qualquer expressão dessas na hora, e o print mostra o resultado.

print(7 + 3)   # 10
print(7 - 3)   # 4
print(7 * 3)   # 21
print(7 / 2)   # 3.5

As quatro operações básicas. Repare que a multiplicação é * e a divisão é /.

OperadorOperaçãoExemploResultado
+Soma8 + 210
-Subtração8 - 26
*Multiplicação8 * 216
/Divisão8 / 24.0

Os quatro operadores aritméticos básicos. Guarde o 4.0 da última linha: ele é o assunto da próxima seção.

Os espaços em volta do operador (7 + 3 em vez de 7+3) não mudam o resultado, mas mudam a leitura. O guia oficial de estilo do Python, a PEP 8, recomenda um espaço de cada lado, e este curso segue essa recomendação em todos os exemplos. Código que respira é código que se lê sem esforço.

A pegadinha da divisão: 10 / 2 é 5.0

Olhe de novo a tabela da seção anterior: 8 / 2 deu 4.0, com ponto e zero. Não foi erro de digitação. Em Python 3, a divisão com / devolve SEMPRE um número do tipo float, mesmo quando a conta fecha exata. A regra existe para dar previsibilidade: você nunca precisa adivinhar o tipo do resultado de uma divisão, porque ele é float em cem por cento dos casos.

print(10 / 2)        # 5.0
print(type(10 / 2))  # <class 'float'>
print(9 / 3)         # 3.0
print(7 / 2)         # 3.5

Divisão exata ou não, o resultado do / é float. O type() que você viu no módulo 4 confirma.

Por que isso importa? Porque tipo influencia comportamento. Um 5.0 impresso num recibo fica estranho onde se esperava 5, e uma comparação com número inteiro pode surpreender quem não conhece a regra. Quando você quiser um resultado inteiro de divisão, existe um operador próprio para isso, o //, que é o assunto da próxima aula. O / e o // convivem no Python justamente para você escolher o comportamento de forma explícita.

Contas com variáveis e com o input

Programa de verdade quase nunca soma números soltos como 7 + 3. Ele soma variáveis, porque variáveis carregam significado: preco, quantidade, salario, desconto. A conta vira uma frase que se lê, e mudar um valor no topo do programa atualiza todos os cálculos que dependem dele.

preco = 4.50
quantidade = 3
total = preco * quantidade
print("Total da compra:", total)  # Total da compra: 13.5

A expressão preco * quantidade é calculada primeiro; o resultado é guardado em total.

E dá para ir além: calcular com valores que o usuário digita. Você aprendeu no módulo 5 que o input devolve texto e que texto não faz conta. A ponte é a conversão com float(), que aceita números com ou sem casas decimais. O exemplo abaixo junta tudo: lê dois valores, converte e divide.

valor = float(input("Valor total da conta: "))
pessoas = float(input("Quantas pessoas vão dividir? "))

print("Cada pessoa paga:", valor / pessoas)

Digite 90 e 4 e a saída é 22.5. Sem o float(), o programa quebraria ao tentar dividir texto.

Rode esse programa no Playground e teste com valores seus. Depois quebre de propósito: apague um float() e veja o TypeError reclamando que não dá para dividir str. Erro provocado em ambiente seguro é vacina contra o mesmo erro na vida real. Esse padrão de ler, converter e calcular vai se repetir no curso inteiro, inclusive na calculadora que você constrói na aula 6 deste módulo.

Teste rápido

O que o Python mostra ao executar print(10 / 2)?

Perguntas frequentes

Por que a multiplicação em Python usa * e não x?
Porque a letra x é um nome válido de variável, e o computador não teria como distinguir a letra do sinal de multiplicar. O asterisco resolve a ambiguidade e é o padrão em praticamente todas as linguagens de programação, não só no Python.
Posso somar um int com um float?
Pode. O Python converte o inteiro para float automaticamente e o resultado sai como float: 3 + 0.5 dá 3.5. Essa promoção automática só vale entre tipos numéricos; misturar número com texto continua dando TypeError.
Existe limite de tamanho para os números nas contas?
Para inteiros, na prática não: o Python aceita números inteiros de qualquer tamanho, limitado só pela memória do computador. Você pode multiplicar números gigantes sem estouro. Os floats têm limite e precisão finita, mas ele fica muito acima de qualquer conta deste curso.
Por que 0.1 + 0.2 não dá exatamente 0.3?
Porque o computador guarda decimais em binário, e certos valores, como 0.1, não têm representação binária exata, do mesmo jeito que 1 dividido por 3 não tem representação decimal exata. É comportamento padrão de quase toda linguagem. Para uso comum, arredondar na exibição resolve.
O que acontece se eu dividir por zero?
O Python interrompe o programa com um ZeroDivisionError, informando a linha do problema. É um erro de execução, não de escrita: o código está bem formado, mas a operação é matematicamente impossível. No módulo 14 você aprende a tratar esse erro sem deixar o programa cair.
Preciso decorar alguma ordem entre + - * e /?
A mesma da escola: multiplicação e divisão são resolvidas antes de soma e subtração, então 2 + 3 * 4 dá 14. A aula 3 deste módulo detalha a ordem completa das operações e mostra como usar parênteses para mandar na conta.

Fontes

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