Seja muito bem-vindo à Academy Code Christ!
🌍 Academy Code Christ está disponível em vários idiomas.Fique à vontade para usar o tradutor na Barra lateral (Sidebar) e aprender no seu idioma.
Python 🐍 Etapa 03
Tomando Decisões com o Código
🎯 Por que precisamos de decisões no código?
Imagine que você está criando um aplicativo que calcula a média de um aluno e informa se ele foi aprovado ou reprovado.
Para isso, o programa precisa tomar uma decisão: se a média for maior ou igual a 7, ele exibe “Aprovado”; do contrário, “Reprovado.”
Esse tipo de escolha é feito através de estruturas condicionais — instruções que permitem ao programa verificar situações e reagir de forma diferente dependendo do resultado.
Em linguagem natural:
Se
a média for maior ou igual a 7 → mostrar “Aprovado”.
Caso contrário → mostrar “Reprovado”.
Em Python, usamos a estrutura if para representar esse tipo de lógica.
A estrutura if
A palavra‑chave if significa “se”.
nota = 8
if nota >= 7:
print("Aprovado!")
O Python verifica a condição nota >= 7.
● Se for verdadeira, executa o código indente‑do logo abaixo do if.
● Caso contrário, simplesmente ignora aquele bloco.
Saída:
Aprovado!
Observe a identação (os espaços antes da linha dentro do bloco).
Em Python, a identação é obrigatória
e indica o agrupamento de comandos pertencentes à mesma condição.
Convencionalmente, usamos 4 espaços:
if nota >= 7:
print("Aprovado!") # quatro espaços de recuo
Se esquecer de indentar corretamente, o Python exibirá um erro de sintaxe.
A estrutura if … else
Quase sempre precisamos de uma ação para o caso da condição
ser falsa.
Para isso usamos o else (senão).
nota = 6
if nota >= 7:
print("Aprovado!")
else:
print("Reprovado.")
Saída:
Reprovado.
O bloco dentro de else executa somente quando a condição do if é falsa.
Introduzindo o elif
Às vezes há mais de uma condição a verificar.
Nessas situações usamos elif (abreviação de
“else + if”).
nota = 8
if nota >= 9:
print("Excelente!")
elif nota >= 7:
print("Aprovado.")
else:
print("Reprovado.")
O Python avalia as condições em ordem:
1. Se nota >= 9 for verdadeira, executa a primeira opção e para ali.
2. Caso contrário, testa nota >= 7.
3. Se nenhuma for verdadeira, cai no else.
Saídas possíveis dependendo da nota:
- 9 ou 10 → Excelente!
- 7 ou 8 → Aprovado.
- Menos que 7 → Reprovado.
Esse encadeamento é extremamente comum em qualquer linguagem.
Blocos aninhados (if dentro de if)
Também é possível colocar uma estrutura condicional dentro de
outra.
Isso se chama aninhamento (ou nested if).
idade = 20
habilitado = True
if idade >= 18:
if habilitado:
print("Pode dirigir.")
else:
print("Maior de idade, mas sem habilitação.")
else:
print("Menor de idade.")
Saída:
Pode dirigir.
Embora útil, evite criar muitos níveis de aninhamento,
pois isso dificulta a leitura do código.
Quando perceber padrões repetitivos,
considere combinar condições usando operadores lógicos.
Operadores lógicos e condicionais juntos
Você pode unir mais de uma verificação em um mesmo if, com os operadores and, or e not.
idade = 25
possui_cnh = True
if idade >= 18 and possui_cnh:
print("Permissão para dirigir concedida!")
Nesse caso, o bloco só será executado se as duas condições forem verdadeiras.
Outro exemplo:
usuario = "admin"
senha = "1234"
if usuario == "admin" and senha == "1234":
print("Acesso permitido.")
else:
print("Usuário ou senha incorretos.")
Saída:
Acesso permitido.
Condições compostas e precedência
Quando há múltiplos operadores, o Python segue uma ordem de precedência — assim como na matemática.
Ordem (do mais forte ao mais fraco):
1. Parênteses ()
2. Operadores relacionais (>, <, ==, !=)
3. not
4. and
5. or
Sempre que quiser deixar o raciocínio mais claro, use parênteses:
idade = 16
autorizado = True
if (idade >= 18) or (idade >= 16 and autorizado):
print("Entrada liberada.")
else:
print("Entrada negada.")
Condições encadeadas em uma linha
Python permite simplificar if‑else curtos usando uma forma compacta:
mensagem = "Aprovado" if nota >= 7 else "Reprovado"
print(mensagem)
Essa linha equivale a:
if nota >= 7:
mensagem = "Aprovado"
else:
mensagem = "Reprovado"
É muito útil em casos simples, mas cuidado para não abusar — a legibilidade é sempre prioridade.
Em Python, qualquer expressão pode ser testada como verdadeira
ou falsa.
Além dos valores lógicos (True, False), existem valores que o interpretador considera falsos:
- 0, 0.0, 0j (zero)
- "" (string vazia)
- [], {}, () (coleções vazias)
- None (valor nulo)
Exemplo:
texto = ""
if texto:
print("Texto preenchido.")
else:
print("Texto vazio.")
Saída:
Texto vazio.
Isso permite escrever verificações bem compactas:
if lista:
print("A lista possui elementos.")
Uso prático: calculadora de notas
Vamos reunir o que aprendemos em um pequeno programa:
nota1 = float(input("Digite a 1ª nota: "))
nota2 = float(input("Digite a 2ª nota: "))
media = (nota1 + nota2) / 2
print(f"Média: {media:.1f}")
if media >= 9:
print("Conceito A - Excelente!")
elif media >= 7:
print("Conceito B - Bom desempenho.")
elif media >= 5:
print("Conceito C - Regular, precisa melhorar.")
else:
print("Reprovado.")
Esse exemplo combina:
● Entrada de dados (input)
● Cálculos
● Estrutura condicional múltipla (if / elif / else)
● Saída formatada (print(f"…"))
Verificação de múltiplos valores
Muitos programas precisam testar se um valor pertence a uma coleção (lista, tupla, conjunto).
Exemplo:
cores = ["vermelho", "azul", "verde"]
cor = input("Escolha uma cor: ")
if cor in cores:
print("Cor disponível!")
else:
print("Cor não encontrada.")
O operador in
verifica se determinado elemento está dentro de uma sequência.
Ele é extremamente poderoso e será
amplamente usado em capítulos futuros.
Cuidado com erros comuns
1.
Esquecer os dois‑pontos (:)
Depois de cada if, elif e else, o Python exige : para indicar o
início do bloco.
2.
Errar a identação.
Todos os comandos pertencentes ao
mesmo bloco devem ter o mesmo nível de recuo.
Misturar espaços e tabulação causa
erros.
Usar = em vez de ==.
- = é atribuição.
- == é comparação.
if a == 10: # Certo
...
3.
Por exemplo:
idade = input("Idade: ")
if idade >= 18: # Erro! idade é string
...
4. Solução:
idade = int(input("Idade: "))
Desafio prático: classificador de números
Crie um programa que:
1. Peça um número inteiro.
2. Exiba se ele é positivo, negativo ou zero.
3. Indique também se é par ou ímpar.
Dica:
num = int(input("Informe um número: "))
if num > 0:
print("Número positivo")
elif num < 0:
print("Número negativo")
else:
print("Zero")
if num % 2 == 0:
print("Número par")
else:
print("Número ímpar")
Isso demonstra como podemos usar várias decisões independentes dentro de um mesmo programa.
Exemplo aplicado: sistema simples de login
Para consolidar:
usuario_cadastrado = "python_user"
senha_cadastrada = "abc123"
usuario = input("Usuário: ")
senha = input("Senha: ")
if usuario == usuario_cadastrado and senha == senha_cadastrada:
print("Login bem-sucedido!")
else:
print("Credenciais incorretas.")
Esse exemplo simula um login básico no terminal com comparação simultânea de duas variáveis.
Resumo
Nesta etapa, você aprendeu:
✅ Como
usar if, elif e else para controlar o fluxo do
programa.
✅ Importância da identação e
dos dois‑pontos (:).
✅ Combinação de condições com operadores
lógicos (and, or, not).
✅ Valores “falsos” nativos (0, "", None, etc.).
✅ Criação de programas dinâmicos e
interativos com tomadas de decisão reais.
As estruturas condicionais são a base da inteligência dos
programas.
Elas permitem que o software responda de maneira diferente conforme o contexto — como um formulário que verifica o login, ou um sistema que decide se um cliente recebe desconto.
Na próxima etapa, vamos expandir ainda mais essa lógica e aprender a repetir ações automaticamente, explorando o poder dos laços de repetição (for e while).

%20-%20Copia.png)
.png)
.png)
.png)
Postar um comentário