🌗 ← Índice
Data: 11/06/2026
Nível: Básico
if, elif, else, operadores de comparação e lógicos. Faça seu programa tomar decisões inteligentes.
A estrutura condicional mais básica: se algo for verdadeiro, faça X; senão, faça Y.
idade = 17
if idade >= 18:
print("Pode entrar na barbearia sozinho.")
else:
print("Precisa vir acompanhado.")
▶ Saída:
Precisa vir acompanhado.
💡 Regra de ouro: Dois pontos : no final + indentação de 4 espaços (PEP 8).
| Operador | Significado | Exemplo | Resultado |
|---|
|----------|-------------|---------|-----------|
| `==` | Igual | `5 == 5` | `True` |
|---|---|---|---|
| `!=` | Diferente | `5 != 3` | `True` |
| `>` | Maior que | `10 > 5` | `True` |
| `<` | Menor que | `10 < 5` | `False` |
| `>=` | Maior ou igual | `5 >= 5` | `True` |
| `<=` | Menor ou igual | `3 <= 5` | `True` |
⚠️ Erro clássico: = é atribuição, == é comparação. Confundir os dois gera SyntaxError.
horario = 14 # 24h
if horario < 12:
print("Bom dia!")
elif horario < 18:
print("Boa tarde!")
else:
print("Boa noite!")
▶ Saída:
Boa tarde!
📖 Fluxo: O Python testa cada condição de cima pra baixo. Na primeira True, executa e pula todas as outras.
| Operador | O que faz | Exemplo |
|---|
|----------|-----------|---------|
| `and` | As duas precisam ser True | `idade >= 18 and tem_disponibilidade` |
|---|---|---|
| `or` | Pelo menos uma precisa ser True | `cliente_vip or horario_livre` |
| `not` | Inverte o resultado | `not feriado` |
hora = 19
aberto = hora >= 8 and hora <= 18
if aberto:
print("🟢 Aberto! Pode agendar.")
else:
print("🔴 Fechado. Volte das 08h às 18h.")
▶ Saída:
🔴 Fechado. Volte das 08h às 18h.
💡 Dica: Atribuir condições a variáveis descritivas (aberto, maior_idade, vip) deixa o código mais legível.
# Sistema de agendamento da barbearia
nome = input("Nome do cliente: ")
idade = int(input("Idade: "))
tem_carteira = input("Tem carteira VIP? (s/n): ")
# Regras do sistema
maior_idade = idade >= 18
vip = tem_carteira == "s"
if maior_idade or vip:
print(f"✅ {nome}, pode agendar!")
else:
print(f"❌ {nome}, precisa de autorização.")
dia = "segunda"
horario = 9
if dia != "domingo":
if horario >= 8 and horario <= 18:
print(f"🟢 Barbearia aberta às {horario}h!")
else:
print(f"🟡 Fora do horário comercial ({horario}h)")
else:
print("🔴 Domingo — fechado")
📖 Boa prática: Mais de 2 níveis de aninhamento é sinal de que você pode simplificar com operadores lógicos ou funções. Python permite comparações encadeadas: if 8 <= horario <= 18.
Crie um programa que pergunte o nome do profissional e mostre o preço:
prof = input("Profissional (Michelito/Kildery/Miguel): ")
if prof == "Michelito":
print(f"Corte com {prof}: R$ 150")
elif prof == "Kildery":
print(f"Corte com {prof}: R$ 90")
elif prof == "Miguel":
print(f"Corte com {prof}: R$ 70")
else:
print("❌ Profissional não encontrado")
Pergunte dia da semana e horário. Mostre o status:
💡 Use comparações encadeadas: if 8 <= horario <= 12
Valide o cadastro:
💡 Dica AWS: Condicionais são a base de funções Lambda — aprovar pagamento, validar formulário, filtrar eventos SQS.
| Conceito | Doc Oficial |
|---|
|----------|-------------|
| `if`/`elif`/`else` | [docs.python.org/3/tutorial/controlflow.html#if-statements](https://docs.python.org/3/tutorial/controlflow.html#if-statements) |
|---|---|
| `==`, `!=`, `>`, `<` | [docs.python.org/3/library/stdtypes.html#comparisons](https://docs.python.org/3/library/stdtypes.html#comparisons) |
| `and`, `or`, `not` | [docs.python.org/3/tutorial/controlflow.html#if-statements](https://docs.python.org/3/tutorial/controlflow.html#if-statements) |
| `bool()` | [docs.python.org/3/library/functions.html#bool](https://docs.python.org/3/library/functions.html#bool) |
| PEP 8 | [peps.python.org/pep-0008/](https://peps.python.org/pep-0008/) |
✨ Anterior: [[Aula-P01-Primeiros-Passos]] | Próxima: [[Aula-P03-Listas-e-Loops]]