Realizar operações com números

Concluído

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