Números em Python: inteiros, floats e matemática na prática
Este tutorial foi traduzido do original em inglês.Read in EnglishLeer en españolЧитать на русскомอ่านภาษาไทยAvisar sobre um erro de tradução
Você está dividindo a conta do restaurante com três amigos. O total deu R$ 85. Quanto cada pessoa paga? Você pega a calculadora do celular, mas quem programa em Python digita 85 / 4 e tem a resposta na hora.
A matemática é a base da programação. Jogos usam matemática para a física. Aplicativos usam para calcular preços. A ciência de dados depende dela. A boa notícia? Com Python, fazer contas parece usar uma calculadora turbinada.
Neste tutorial, você vai aprender como o Python lida com números, quais operadores existem e como evitar os erros que mais confundem iniciantes. No final, você vai fazer cálculos do dia a dia com confiança.
O que são inteiros e floats?
O Python tem dois tipos principais de números. Os números inteiros (int) são números sem casa decimal. Os números de ponto flutuante (float) são números com casa decimal.
Pense em dinheiro. "5 reais" é um inteiro. "5,99 reais" é um float. As casas decimais fazem toda a diferença.
<class 'int'> <class 'float'> <class 'int'> <class 'float'>
Quando usar cada um? Use inteiros para coisas que você conta: pessoas, itens, pontos, vidas. Use floats para coisas que você mede: peso, temperatura, porcentagens, dinheiro.
Como fazer contas em Python
O Python tem todas as operações matemáticas básicas que você já conhece. Os símbolos são quase iguais aos que você escreveria no papel.
13 7 30 3.3333333333333335
Adição, subtração e multiplicação funcionam do jeito que você espera. A divisão tem uma surpresa: ela sempre retorna um float, mesmo quando o resultado é um número inteiro.
5.0 <class 'float'> 10.0 2.0
Você pode fazer contas com variáveis do mesmo jeito que com números. É aqui que a coisa fica útil.
Subtotal: $50.0 Tax: $4.0 Total: $54.0
O que são a divisão inteira (//) e o módulo (%)?
O Python tem dois operadores especiais que andam juntos como goiabada e queijo: a divisão inteira (//) e o módulo (%). Eles respondem a duas perguntas diferentes sobre a mesma divisão.
Imagine que você tem 17 biscoitos e 5 amigos. 17 // 5 diz que cada amigo recebe 3 biscoitos. 17 % 5 diz que sobram 2 biscoitos.
Como funciona a divisão inteira (//)?
A divisão inteira (//) divide e arredonda para baixo até o número inteiro mais próximo. Com números positivos, isso significa descartar a parte decimal.
3.4 3 3.3333333333333335 3 3.5 3 -4
Como funciona o operador módulo (%)?
O operador módulo (%) retorna o resto da divisão. Ele é muito útil e aparece mais do que você imagina.
2 1 0 1 42 is even
O uso mais comum do módulo é verificar se uma divisão é exata. Se x % y == 0, então x é divisível por y. É assim que você verifica se um número é par ou ímpar, se um ano é bissexto e muito mais.
Como usar potências em Python
O Python usa ** para potenciação (elevar um número a uma potência). Linguagens como C e Java usam uma função para isso, mas no Python é um operador. Direto e limpo.
8 25 1000000 3.0 3.0
Um truque legal: elevar um número a 0.5 dá a raiz quadrada dele. E ** (1/3) dá a raiz cúbica. Você não precisa de uma função especial para raízes simples.
$1000 at 5.0% for 10 years = $1628.89
Qual é a ordem das operações em Python?
O Python segue a mesma ordem das operações que você aprendeu nas aulas de matemática. Talvez você conheça a sigla em inglês PEMDAS: Parênteses, Expoentes, Multiplicação/Divisão, Adição/Subtração.
14 2 13.0 20 512 8.0
Esta é a lista completa de prioridades, da maior para a menor:
() - Parênteses (sempre primeiro)** - Potenciação-x - Negação, um sinal de menos na frente de um valor (por isso -2 ** 2 dá -4)*, /, //, % - Multiplicação, divisão, divisão inteira, módulo+, - - Adição e subtraçãoresult = base + rate * hours - discount / 2
print(result)result = base + (rate * hours) - (discount / 2)
print(result)Quais funções matemáticas embutidas o Python tem?
O Python vem com várias funções embutidas para tarefas matemáticas comuns. Não é preciso importar nada: elas estão disponíveis em qualquer lugar.
Como usar abs(), round(), min() e max()
10 10 3.7 4 3 3.14 1200
1 -20 8 -5 Score 150 clamped to 100
Como converter entre inteiros e floats
Às vezes você precisa trocar o tipo de um número. Use int() para converter um float em inteiro e float() para converter um inteiro em float.
3 3 -2 42.0 -7.0 25 3.14
O Python também faz conversão automática em algumas situações. Quando você mistura um inteiro e um float numa operação, o Python converte o inteiro em float automaticamente.
7.0 <class 'float'> 15.0 6.5 <class 'float'>
Quais são os erros comuns com números em Python?
Vamos ver os erros que mais confundem quem está começando em Python. Conhecê-los com antecedência vai poupar horas de depuração.
Erro 1: esperar que / retorne um inteiro
total_items = 10
people = 2
each = total_items / people
print(f"Each gets {each} items") # "Each gets 5.0 items"total_items = 10
people = 2
each = total_items // people
print(f"Each gets {each} items") # "Each gets 5 items"Erro 2: confundir / e //
3.5 3 3.75 3
Erro 3: esquecer os parênteses nas fórmulas
# Converting Fahrenheit to Celsius
fahrenheit = 212
celsius = fahrenheit - 32 * 5 / 9
print(celsius) # 194.22... WRONG!# Converting Fahrenheit to Celsius
fahrenheit = 212
celsius = (fahrenheit - 32) * 5 / 9
print(celsius) # 100.0 CORRECT!Exercícios práticos
Hora de colocar suas habilidades com números em prática! Estes exercícios usam situações do dia a dia para você ver como a matemática do Python se aplica a problemas reais.
Tente resolver cada um sozinho antes de olhar as dicas. Errar faz parte do aprendizado.
Você está comprando itens numa loja. Calcule o custo total e exiba o resultado.
Exiba o total exatamente neste formato:
Total: $16.0Use o operador módulo (%) para verificar se um número é par ou ímpar.
A variável number já vem com o valor 37. Exiba o resultado exatamente neste formato:
37 is oddSe o número fosse par (como 42), a saída seria:
42 is evenEste código deveria dividir 10 pizzas igualmente entre 3 grupos e informar quantas sobram. Mas ele usa os operadores de divisão errados!
Corrija o código para que a saída seja:
Each group gets 3 pizzas
Leftover pizzas: 1Converta uma temperatura de Fahrenheit para Celsius usando esta fórmula:
**Celsius = (Fahrenheit - 32) * 5 / 9**
A variável fahrenheit já vem com o valor 72. Calcule o valor em Celsius, arredonde para 1 casa decimal e exiba:
72F = 22.2CSem executar o código, tente prever o que cada linha vai exibir. Escreva suas previsões como comentários e depois execute o código para conferir.
Calcule juros compostos usando esta fórmula:
**A = P * (1 + r) t
Onde:
Calcule o montante final e os juros obtidos, depois exiba:
Final amount: $1628.89
Interest earned: $628.89Arredonde os dois valores para 2 casas decimais.
Resumo: números e matemática em Python
Aqui está uma referência rápida de todos os operadores e funções deste tutorial:
| Operador | Nome | Exemplo | Resultado |
|---|---|---|---|
+ | Adição | 5 + 3 | 8 |
- | Subtração | 5 - 3 | 2 |
* | Multiplicação | 5 * 3 | 15 |
/ | Divisão | 5 / 3 | 1.666... |
// | Divisão inteira | 5 // 3 | 1 |
% | Módulo (resto) | 5 % 3 | 2 |
** | Potenciação | 5 ** 3 | 125 |
Funções embutidas:
| Função | Para que serve | Exemplo |
|---|---|---|
abs(x) | Valor absoluto | abs(-5) → 5 |
round(x, n) | Arredonda para n casas decimais | round(3.14, 1) → 3.1 |
min(a, b, ...) | Menor valor | min(3, 1, 4) → 1 |
max(a, b, ...) | Maior valor | max(3, 1, 4) → 4 |
int(x) | Converte para inteiro | int(3.9) → 3 |
float(x) | Converte para float | float(5) → 5.0 |
O que vem a seguir?
No próximo tutorial, Strings em Python, você vai aprender a trabalhar com texto em Python. Você vai conhecer o fatiamento, os métodos de string e como juntar strings e números numa saída fácil de ler.