Aprender a lidar com múltiplas condições de forma elegante e legível utilizando o comando elif (else if) e conhecer a nova estrutura match-case do Python moderno.
🏗️ O Conceito
No desenvolvimento de jogos ou sistemas, raramente temos apenas dois caminhos (Sim/Não). No nosso Jogo da Adivinhação, se o jogador erra, queremos dar uma pista: o chute foi maior ou menor que o número secreto?
A lógica seria:
Se acertou: “Parabéns!”
Senão, se chute > secreto: “Chutou alto!”
Senão: “Chutou baixo!”
💻 Mão na Massa
Passo 1: O Problema dos IFs Aninhados
Sem o elif, o código fica “escadinha” e difícil de ler:
if chute == numero_secreto: print("Você acertou!")else: if chute > numero_secreto: print("Você errou! O seu chute foi maior que o número secreto.") else: print("Você errou! O seu chute foi menor que o número secreto.")
Passo 2: Utilizando o ELIF
O elif simplifica essa estrutura, mantendo todas as condições no mesmo nível de indentação:
if chute == numero_secreto: print("Você acertou!")elif chute > numero_secreto: print("Você errou! O seu chute foi maior que o número secreto.")else: print("Você errou! O seu chute foi menor que o número secreto.")
Passo 3: Melhorando a Legibilidade (Clean Code)
Podemos extrair as condições para variáveis booleanas com nomes descritivos. Isso torna o código quase uma frase em inglês:
acertou = (chute == numero_secreto)maior = (chute > numero_secreto)menor = (chute < numero_secreto)if acertou: print("Você acertou! 🎉")elif maior: print(f"Você errou! Seu chute {chute} foi MAIOR que o segredo.")elif menor: print(f"Você errou! Seu chute {chute} foi MENOR que o segredo.")
Modernização: match-case (Python 3.10+)
Para casos de múltiplas comparações de valores, o Python introduziu o match-case, similar ao switch de outras linguagens:
match chute: case _ if chute == numero_secreto: print("Acertou!") case _ if chute > numero_secreto: print("Muito alto!") case _: print("Muito baixo!")
✅ Resultado Esperado
O programa agora é inteligente o suficiente para guiar o usuário:
Qual o seu chute?Você errou! Seu chute 50 foi MAIOR que o segredo.
🚨 Erros Comuns
Erro
Causa
Solução
elif sem if
Tentar começar uma sequência lógica por um elif.
Todo elif deve vir após um if inicial.
Esquecer os :
Sintaxe básica do Python.
Sempre use dois pontos : após if, elif e else.
🔗 Próximo Capítulo
Agora que controlamos o fluxo, vamos criar o loop principal do jogo com o Comando WHILE.