Realizar operações com números
Tip
Consulte a guia Texto e imagens para obter mais detalhes!
No fundo, os computadores são calculadoras incrivelmente rápidas. O Python suporta todas as operações matemáticas padrão que se esperaria, permitindo-lhe fazer cálculos e guardar instantaneamente os resultados dentro de variáveis.
Operadores aritméticos
Python utiliza símbolos padrão para matemática básica, juntamente com alguns operadores especiais concebidos especificamente para programar fluxos de trabalho:
| Operador | Action | Example | Result | Note |
|---|---|---|---|---|
+ |
Adição | 10 + 3 |
13 |
|
- |
Subtração | 10 - 3 |
7 |
|
* |
Multiplicação | 10 * 3 |
30 |
|
/ |
Divisão | 10 / 2 |
5.0 |
⚠️ Retorna sempre um float |
// |
Divisão inteira | 10 // 3 |
3 |
Corta o resto decimal |
% |
Módulo | 10 % 3 |
1 |
Só devolve o restante |
** |
Exponenciação | 2 ** 3 |
8 |
$2$ ao poder de $3$ ($2 \vezes 2 \vezes 2$) |
Compreensão módulo (%)
Em python, o operador % módulo não está relacionado com as percentagens. Divide o primeiro número pelo segundo e devolve-te o que sobra.
O operador módulo é útil para diferentes cenários de programação. Por exemplo, pode usá-lo para determinar se um número é par ou ímpar. Se number % 2 deixar um resto de 0, o número é perfeitamente par.
Também podes usar módulo para "enrolar" um número. Por exemplo, se tiver uma lista de três itens e quiser passar por eles repetidamente, o módulo funciona como um interruptor de reset. Se escolher o current_item % total_items, o número será reiniciado graciosamente para 0.
total_items = 3
# If a user clicks 6 times in a row:
print(0 % total_items) # Output: 0 (Item 1)
print(1 % total_items) # Output: 1 (Item 2)
print(2 % total_items) # Output: 2 (Item 3)
print(3 % total_items) # Output: 0 (Loops back to Item 1!)
print(4 % total_items) # Output: 1 (Item 2)
print(5 % total_items) # Output: 2 (Item 3)
Podes tentar correr este código tu próprio num interpretador Python online em https://aka.ms/python-coder.
Ordem de operações
Python segue a ordem matemática padrão de operações (PEMDAS). Podes usar parênteses para forçar o Python a calcular primeiro secções específicas:
standard_order = 2 + 3 * 4 # Multiplication first, result = 14
forced_order = (2 + 3) * 4 # Parentheses first, result = 20
Números inteiros e flutuadores
Python tem dois tipos numéricos. Um inteiro (int) é um número inteiro, e um ponto flutuante (float) contém um decimal.
Sempre que realiza uma operação que mistura um int e um float, o Python converte automaticamente o resultado em a float para evitar perder a precisão decimal:
base_value = 10 # int
bonus_value = 3.5 # float
total_score = base_value + bonus_value
print(total_score) # Output: 13.5 (a float)
Note
Sempre que misturas um int e um float numa operação, o Python devolve um float.
Atualizar uma variável consigo mesma
Um padrão comum no desenvolvimento de software é a atualização de uma variável com base no seu valor atual. Este padrão é útil em cenários como adicionar uma soma a um saldo existente ou adicionar pontos à pontuação de um jogador. Python tem operadores abreviados para este padrão:
score = 50
score = score + 10 # Standard way
score += 10 # Shorthand — same result
Lembre-se que o python avalia primeiro o lado direito e depois atribui o resultado à variável à esquerda. O operador de taquigrafia += é uma forma conveniente de atualizar uma variável sem repetir o seu nome.
A mesma abreviação funciona para -=, *=, /=, e outros.
Divisão por zero
Python não permite dividir por zero. Se tentar, verá um ZeroDivisionError:
Exemplo:
crash_test = 10 / 0
Output:
ZeroDivisionError: division by zero