Aula 04 - Estruturas Condicionais (if/elif/else)
🎯 Objetivos da Aula
- [ ] Entender o fluxo de controle de um programa
- [ ] Aprender a sintaxe do
if(se) - [ ] Usar o
else(senão) para alternativas - [ ] Usar o
elif(senão se) para múltiplas condições - [ ] Compreender a importância da Indentação em Python
- [ ] Aninhar condições (if dentro de if)
📚 Conteúdo
1. O que são Condicionais?
Até agora, nossos programas seguiam uma linha reta: passo 1, passo 2, passo 3... Mas a vida real é cheia de decisões: "SE estiver chovendo, levo guarda-chuva. SENÃO, vou de óculos escuros."
Em Python, usamos estruturas condicionais para desviar o fluxo do programa baseando-se em testes lógicos (True ou False).
graph TD
A[Início] --> B{Chovendo?}
B -- Sim --> C[Levar Guarda-Chuva]
B -- Não --> D[Ir de Óculos Escuros]
C --> E[Sair de Casa]
D --> E
2. A Estrutura if (Se)
O bloco if só executa se a condição for verdadeira (True).
idade = 20
if idade >= 18:
print("Você é maior de idade.")
print("Pode entrar na festa.") # Este código também depende do if
print("Fim do programa.") # Executa sempre
🔑 Indentação: Note que o código dentro do
ifestá "empurrado" para a direita (geralmente 4 espaços). Isso diz ao Python que aquele bloco pertence aoif. Se tirar a indentação, dá erro ou muda a lógica!
3. A Estrutura else (Senão)
O else é o plano B. Ele executa somente se o if for falso.
O
elsenunca tem condição. Ele é "todo o resto".
4. A Estrutura elif (Senão Se)
Para testar várias condições em sequência. O primeiro que for verdadeiro ganha.
nota = 8.5
if nota >= 9.0:
print("Conceito A (Excelente!)")
elif nota >= 7.0:
print("Conceito B (Aprovado)")
elif nota >= 5.0:
print("Conceito C (Recuperação)")
else:
print("Conceito D (Reprovado)")
5. If Aninhado (If dentro de If)
Você pode colocar um if dentro de outro. Isso é útil para verificar condições dependentes.
idade = 20
cnh = False
if idade >= 18:
print("Tem idade para dirigir.")
if cnh:
print("Pode pegar o carro!")
else:
print("Mas precisa tirar a CNH primeiro.")
else:
print("Muito novo para dirigir.")
6. Combinando com Operadores Lógicos
Podemos deixar o código mais limpo usando and, or, not.
# Versão melhor do exemplo anterior
if idade >= 18 and cnh:
print("Pode dirigir!")
elif idade >= 18 and not cnh:
print("Falta a CNH.")
else:
print("Não pode dirigir.")
💻 Em Prática
Vamos criar um programa que verifica se um ano é Bissexto. Regra: 1. Divisível por 4? (Sim -> pode ser. Não -> não é) 2. Divisível por 100? (Sim -> não é, a menos que...) 3. Divisível por 400? (Sim -> é!)
Simplificando: É bissexto se for divisível por 4 E (NÃO divisível por 100 OU divisível por 400).
# ano_bissexto.py
ano = int(input("Digite um ano: "))
if (ano % 4 == 0 and ano % 100 != 0) or (ano % 400 == 0):
print(f"{ano} é Bissexto!")
else:
print(f"{ano} NÃO é Bissexto.")
📝 Resumo
if: Testa uma condição.elif: Testa outra condição se a anterior falhou.else: Executa se nada acima for verdade.- Indentação: Fundamental em Python para definir blocos de código.
🎯 Próximos Passos
-
Acessar Slides
-
Quiz
-
Exercícios
-
Projeto