Usando else
Aprenda a criar um caminho alternativo quando a condição principal não acontece.
Na lição anterior, nós aprendemos a criar um caminho alternativo para o nosso código caso uma condição fosse verdadeira usando o if. Mas o que acontece se a condição for falsa?
Por exemplo, se o sinal estiver verde, você pode passar. Mas e se não estiver verde? O que você faz? Você para!
Na programação, o else (que significa senão em inglês) funciona como o nosso plano B. Ele define exatamente o que o computador deve fazer se a condição do if não for atendida (ou seja, se ela for falsa).
O caminho alternativo, ou o plano B
Pense no else como uma bifurcação completa na estrada: ou você vai para o caminho A, ou você vai para o caminho B. Você nunca poderá seguir ambos os caminhos ao mesmo tempo!
Veja um exemplo prático:
idade = 16
if idade >= 18:
print("Você pode entrar na festa!")
else:
print("Desculpe, você é menor de idade e não pode entrar.")
Como o Python interpreta esse código?
- Ele avalia o
if: "A idade (16) é maior ou igual a 18?" - Como a resposta é Falsa (
False), o Python ignora completamente o primeiroprint. - O Python cai diretamente no
elsee executa o comando dele: exibe"Desculpe, você é menor de idade...".
As regras de sintaxe do else
Assim como o if, o else também tem regras muito importantes para não gerar erros no programa:
1. Mesmo alinhamento vertical
A palavra else deve ser escrita exatamente abaixo da palavra if, ou seja, no mesmo nível de recuo (sem espaços extras no começo da linha).
2. Termina com dois pontos (:)
Você deve colocar dois pontos (:) logo após a palavra else.
3. NUNCA coloque uma condição na linha do else
O else é o caso padrão. Ele significa "se tudo o que está acima der errado, faça isto". Por isso, ele não recebe nenhuma pergunta.
# Correto
else:
print("Caminho padrão")
# Errado - Causará um SyntaxError!
else idade < 18:
print("Isso vai dar erro!")
4. Indentação
O código que deve rodar dentro do else também deve estar recuado para a direita (indentado).
# Correto - else no mesmo nível do if
if idade >= 18:
print("Pode entrar!")
else:
print("Não pode entrar.")
# Errado - else desalinhado (causará IndentationError)
if idade >= 18:
print("Pode entrar!")
else:
print("Não pode entrar.")
E se eu tiver mais que dois caminhos?
Se você precisar de mais de dois caminhos, existe uma palavra-chave que veremos na proxíma lição, o elif, que permite testar condições intermediárias.
Par ou ímpar?
Vimos em aulas anteriores que o operador % pode ser usado para identificar números pares ou ímpares.
O operador % retorna o resto de uma divisão. Por exemplo:
resto = 3 % 2
print(resto) # vai mostrar 1
resto = 4 % 2
print(resto) # essa divisão é exata, vai mostrar 0
Assim:
- se o resto de um número por 2 é 0, sabemos que ele é par.
- se o resto de um número por 2 não é 0, sabemos que ele é ímpar.
Agora que já conhecemos o if/else, já podemos escrever um programa para fazer essa verificação:
numero = int(input("Informe um número: "))
resto = numero % 2
if resto == 0:
print("Número par!")
else:
print("Número ímpar!")
O que aprendemos nesta lição
Nesta lição, você aprendeu que:
- O
else(senão) define o bloco de código que roda caso a condição doifseja falsa. - Em uma estrutura de
if/else, apenas um dos dois blocos será executado. Nunca os dois. - O
elsedeve estar no mesmo alinhamento vertical do seuif. - O
elsenão aceita perguntas ou condições na sua linha declaratória e termina sempre com dois pontos (:). - O bloco de código abaixo do
elsedeve obrigatoriamente estar indentado.