Fundamentos do Python para Iniciantes
Operadores Aritméticos e de Atribuição
Aprenda sobre operadores aritméticos e de atribuição
Operadores Aritméticos e de Atribuição
Olá, futuros programadores! 👋 Sejam bem-vindos a mais uma aula do nosso curso de Fundamentos do Python. Hoje, vamos mergulhar em um tópico essencial que nos permite realizar cálculos e manipular valores: os Operadores Aritméticos e de Atribuição.
Compreender como os operadores funcionam é fundamental para escrever qualquer programa, desde a soma de dois números até algoritmos complexos. Preparem-se para adicionar, subtrair, multiplicar e muito mais! 🚀
1. Operadores Aritméticos: A Matemática no Python ➕➖✖️➗
Os operadores aritméticos são símbolos que usamos para realizar operações matemáticas básicas. O Python segue a ordem padrão das operações (PEMDAS/BODMAS), então parênteses () são seus amigos para controlar a precedência.
Vamos conhecer os principais:
Adição (+)
Soma dois operandos.
# Exemplo de adição
a = 10
b = 5
resultado = a + b
print(f"A soma de {a} + {b} é: {resultado}") # Saída: A soma de 10 + 5 é: 15Subtração (-)
Subtrai o segundo operando do primeiro.
# Exemplo de subtração
x = 20
y = 7
resultado = x - y
print(f"A subtração de {x} - {y} é: {resultado}") # Saída: A subtração de 20 - 7 é: 13Multiplicação (*)
Multiplica dois operandos.
# Exemplo de multiplicação
base = 4
altura = 6
area = base * altura
print(f"A área de um retângulo com base {base} e altura {altura} é: {area}") # Saída: A área de um retângulo com base 4 e altura 6 é: 24Divisão (/)
Divide o primeiro operando pelo segundo. Importante: O resultado é sempre um número de ponto flutuante (float), mesmo que a divisão seja exata.
# Exemplo de divisão
total_alunos = 30
grupos = 4
alunos_por_grupo = total_alunos / grupos
print(f"Se {total_alunos} alunos forem divididos em {grupos} grupos, cada grupo terá: {alunos_por_grupo} alunos") # Saída: Se 30 alunos forem divididos em 4 grupos, cada grupo terá: 7.5 alunosDivisão Inteira (//)
Divide o primeiro operando pelo segundo e retorna a parte inteira do quociente (arredonda para baixo).
# Exemplo de divisão inteira
moedas = 17
pessoas = 3
moedas_por_pessoa = moedas // pessoas
print(f"Se {moedas} moedas forem distribuídas entre {pessoas} pessoas, cada uma recebe: {moedas_por_pessoa} moedas") # Saída: Se 17 moedas forem distribuídas entre 3 pessoas, cada uma recebe: 5 moedasMódulo (%)
Retorna o resto da divisão. É muito útil para verificar se um número é par/ímpar ou se um número é múltiplo de outro.
# Exemplo de módulo
numero = 10
divisor = 3
resto = numero % divisor
print(f"O resto da divisão de {numero} por {divisor} é: {resto}") # Saída: O resto da divisão de 10 por 3 é: 1
# Verificando se um número é par
num_par = 12
num_impar = 7
print(f"{num_par} é par? {num_par % 2 == 0}") # Saída: 12 é par? True
print(f"{num_impar} é par? {num_impar % 2 == 0}") # Saída: 7 é par? FalseExponenciação (**)
Eleva o primeiro operando à potência do segundo.
# Exemplo de exponenciação
base = 2
expoente = 3
resultado = base ** expoente
print(f"{base} elevado a {expoente} é: {resultado}") # Saída: 2 elevado a 3 é: 8 (2 * 2 * 2)2. Operadores de Atribuição: Guardando Valores com Estilo ➡️
Operadores de atribuição são usados para atribuir valores a variáveis. O operador de atribuição mais básico é o = (igual). No entanto, o Python oferece operadores de atribuição compostos que combinam uma operação aritmética com a atribuição, tornando seu código mais conciso e elegante. ✨
Atribuição Simples (=)
Atribui o valor do lado direito à variável do lado esquerdo.
# Exemplo de atribuição simples
idade = 30
nome = "Alice"
print(f"Idade: {idade}, Nome: {nome}") # Saída: Idade: 30, Nome: AliceAtribuição com Adição (+=)
Equivalente a x = x + y.
# Exemplo de atribuição com adição
contador = 5
print(f"Contador inicial: {contador}") # Saída: Contador inicial: 5
contador += 3 # É o mesmo que contador = contador + 3
print(f"Contador após += 3: {contador}") # Saída: Contador após += 3: 8Atribuição com Subtração (-=)
Equivalente a x = x - y.
# Exemplo de atribuição com subtração
saldo = 100
print(f"Saldo inicial: {saldo}") # Saída: Saldo inicial: 100
saldo -= 25 # É o mesmo que saldo = saldo - 25
print(f"Saldo após -= 25: {saldo}") # Saída: Saldo após -= 25: 75Atribuição com Multiplicação (*=)
Equivalente a x = x * y.
# Exemplo de atribuição com multiplicação
multiplicador = 2
valor = 10
print(f"Valor inicial: {valor}") # Saída: Valor inicial: 10
valor *= multiplicador # É o mesmo que valor = valor * multiplicador
print(f"Valor após *= multiplicador: {valor}") # Saída: Valor após *= multiplicador: 20Atribuição com Divisão (/=)
Equivalente a x = x / y. O resultado será um float.
# Exemplo de atribuição com divisão
pontos = 50
print(f"Pontos iniciais: {pontos}") # Saída: Pontos iniciais: 50
pontos /= 2 # É o mesmo que pontos = pontos / 2
print(f"Pontos após /= 2: {pontos}") # Saída: Pontos após /= 2: 25.0Atribuição com Divisão Inteira (//=)
Equivalente a x = x // y.
# Exemplo de atribuição com divisão inteira
total_itens = 23
print(f"Total de itens inicial: {total_itens}") # Saída: Total de itens inicial: 23
total_itens //= 5 # É o mesmo que total_itens = total_itens // 5
print(f"Total de itens após //= 5: {total_itens}") # Saída: Total de itens após //= 5: 4Atribuição com Módulo (%=)
Equivalente a x = x % y.
# Exemplo de atribuição com módulo
numero_grande = 100
print(f"Número grande inicial: {numero_grande}") # Saída: Número grande inicial: 100
numero_grande %= 7 # É o mesmo que numero_grande = numero_grande % 7
print(f"Número grande após %= 7: {numero_grande}") # Saída: Número grande após %= 7: 2Atribuição com Exponenciação (**=)
Equivalente a x = x ** y.
# Exemplo de atribuição com exponenciação
poder = 2
print(f"Poder inicial: {poder}") # Saída: Poder inicial: 2
poder **= 4 # É o mesmo que poder = poder ** 4
print(f"Poder após **= 4: {poder}") # Saída: Poder após **= 4: 16 (2 * 2 * 2 * 2)3. Precedência de Operadores: Quem vem primeiro? 🧐
Assim como na matemática, os operadores no Python têm uma ordem de precedência. Operações com maior precedência são executadas primeiro. Se a precedência for a mesma, a avaliação geralmente ocorre da esquerda para a direita (com exceções como a exponenciação, que é da direita para a esquerda).
A ordem geral (do mais alto para o mais baixo):
- Parênteses
(): Sempre executados primeiro. - Exponenciação
** - Multiplicação
*, Divisão/, Divisão Inteira//, Módulo% - Adição
+, Subtração- - Operadores de Atribuição
=e compostos (+=,-=, etc.): Executados por último, pois atribuem o resultado da expressão à variável.
Exemplo:
# Exemplo de precedência
resultado_complexo = 10 + 5 * 2 ** 3 / 4 - 1
# 1. Exponenciação: 2 ** 3 = 8
# resultado_complexo = 10 + 5 * 8 / 4 - 1
# 2. Multiplicação: 5 * 8 = 40
# resultado_complexo = 10 + 40 / 4 - 1
# 3. Divisão: 40 / 4 = 10.0
# resultado_complexo = 10 + 10.0 - 1
# 4. Adição: 10 + 10.0 = 20.0
# resultado_complexo = 20.0 - 1
# 5. Subtração: 20.0 - 1 = 19.0
print(f"Resultado complexo: {resultado_complexo}") # Saída: Resultado complexo: 19.0
# Usando parênteses para alterar a precedência
resultado_com_parenteses = (10 + 5) * 2 ** (3 / 4 - 1)
# 1. 3 / 4 = 0.75
# resultado_com_parenteses = (10 + 5) * 2 ** (0.75 - 1)
# 2. 0.75 - 1 = -0.25
# resultado_com_parenteses = (10 + 5) * 2 ** (-0.25)
# 3. 10 + 5 = 15
# resultado_com_parenteses = 15 * 2 ** (-0.25)
# 4. 2 ** (-0.25) = 0.8408964152537145 (aproximadamente)
# resultado_com_parenteses = 15 * 0.8408964152537145
# 5. Multiplicação: 15 * 0.8408964152537145 = 12.613446228805718
print(f"Resultado com parênteses: {resultado_com_parenteses}") # Saída: Resultado com parênteses: 12.613446228805718Sempre use parênteses para deixar suas expressões mais claras e evitar ambiguidades, mesmo que a precedência padrão já te dê o resultado desejado. A clareza do código é crucial! 💡
4. Exercícios de Fixação 🧠
Vamos testar seus conhecimentos! Tente prever a saída dos seguintes códigos ou complete-os.
Exercício 1: Preveja o Resultado
Qual será o valor final da variável valor_final?
a = 10
b = 3
c = 2
valor_final = a + b * c - a // b
print(valor_final)Exercício 2: Atribuição Composta
Complete o código para que saldo seja multiplicado por 1.1 e depois subtraído por 50.
saldo = 500
# Multiplique o saldo por 1.1 usando um operador de atribuição composto
# saldo *= 1.1
# Subtraia 50 do saldo usando um operador de atribuição composto
# saldo -= 50
print(saldo)Exercício 3: O Resto da Divisão
Se você tem 25 doces e quer distribuí-los igualmente entre 4 amigos, quantos doces sobram? Use o operador correto para encontrar a resposta.
doces = 25
amigos = 4
# Calcule o número de doces que sobram
# doces_restantes = doces % amigos
# print(f"Sobrarão {doces_restantes} doces.")5. Resumo e Próximos Passos: Recapitulando! 📝
Nesta aula, exploramos os operadores aritméticos (+, -, *, /, //, %, **) que nos permitem realizar cálculos matemáticos e os operadores de atribuição (=, +=, -=, *=, /=, //=, %=, **=) que facilitam a modificação de valores em variáveis. Também vimos a importância da precedência de operadores e como os parênteses () podem nos ajudar a controlar a ordem das operações.
Dominar esses operadores é um passo crucial para escrever programas Python eficazes e legíveis. Eles são a base para qualquer lógica numérica em seus códigos!
Próximos Passos: Na próxima aula, vamos avançar para os Operadores de Comparação e Lógicos, que são igualmente importantes para tomar decisões em seus programas. Preparem-se para aprender a fazer seu código "pensar"! 😉
Até lá, pratiquem com os exercícios e experimentem diferentes combinações de operadores! Happy coding! 💻