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
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().
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: Soma, subtração, multiplicação e divisão.
Os objetivos desta aula. 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().
Veja o essencial, parte por parte.
Os quatro operadores de sempre. Python soma com +, subtrai com -, multiplica com * e divide com /.
A pegadinha da divisão: 10 / 2 é 5.0. Experimente print(0.1 + 0.2). O resultado é 0.30000000000000004, não 0.3.
Contas com variáveis e com o input. Programa de verdade quase nunca soma números soltos como 7 + 3.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
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.5As quatro operações básicas. Repare que a multiplicação é * e a divisão é /.
| Operador | Operação | Exemplo | Resultado |
|---|---|---|---|
| + | Soma | 8 + 2 | 10 |
| - | Subtração | 8 - 2 | 6 |
| * | Multiplicação | 8 * 2 | 16 |
| / | Divisão | 8 / 2 | 4.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.5Divisã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.5A 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.