Módulo 7 - Condições com if, elif e else
Usando o if: a anatomia da primeira decisão
10 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026
O que você vai aprender
- Escrever um if completo com as quatro peças no lugar.
- Entender por que os dois pontos e a indentação são obrigatórios.
- Prever o que acontece quando a condição é False.
- Usar dois if independentes em sequência e ler o resultado.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Usando o if: a anatomia da primeira decisão.
Os objetivos desta aula. Escrever um if completo com as quatro peças no lugar. Entender por que os dois pontos e a indentação são obrigatórios. Prever o que acontece quando a condição é False. Usar dois if independentes em sequência e ler o resultado.
Veja o essencial, parte por parte.
As quatro peças do if. O if tem quatro peças: a palavra if, a condição, os DOIS PONTOS e o bloco INDENTADO com 4 espaços.
E quando a condição é False?. Esquecer os dois pontos no fim da linha do if. O Python responde com SyntaxError: expected ':' e aponta a linha exata.
if atrás de if: decisões independentes. Digite o exemplo da idade e rode com 20, depois com 15. Preveja a saída antes de executar.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
As quatro peças do if
Chegou a hora de transformar condição em decisão. A sintaxe do if é curta, mas cada pedaço dela é obrigatório, então vale dissecar com calma. São quatro peças, sempre nesta ordem: a palavra if em minúsculas, a condição que vira True ou False, os dois pontos no fim da linha e, na linha de baixo, o bloco de código deslocado 4 espaços para a direita. Veja as peças montadas.
idade = 20
if idade >= 18:
print("Você é maior de idade.")
print("Entrada liberada.")
print("Esta linha roda sempre, com qualquer idade.")Um if completo. As duas linhas indentadas pertencem ao if; a última, alinhada à esquerda, fica fora dele.
Leia o código em voz alta: SE idade for maior ou igual a 18, ENTÃO mostre as duas mensagens. Como idade vale 20, a condição vira True e o bloco roda. A última linha do programa não tem indentação, então não pertence ao if: ela executa sempre, seja a condição verdadeira ou falsa. Essa é a regra de ouro para ler qualquer if: o que está deslocado para a direita depende da condição; o que volta para a margem esquerda é vida que segue.
| Peça | No exemplo | Se faltar |
|---|---|---|
| Palavra if | if | O Python não reconhece a decisão |
| Condição | idade >= 18 | SyntaxError: falta o que testar |
| Dois pontos | : | SyntaxError: expected ':' |
| Bloco indentado | print(...) | IndentationError: expected an indented block |
As quatro peças do if e o erro exato que aparece quando cada uma falta.
E quando a condição é False?
A pergunta que todo iniciante faz: e se a condição não for verdadeira? Resposta curta: nada. O Python avalia a condição, vê o False, pula o bloco indentado inteiro sem executar uma linha dele e continua o programa na primeira linha que estiver de volta na margem esquerda. Mude a idade do exemplo para 15 e rode de novo para ver com os próprios olhos.
idade = 15
if idade >= 18:
print("Você é maior de idade.")
print("Entrada liberada.")
print("Esta linha roda sempre, com qualquer idade.")
# Saída:
# Esta linha roda sempre, com qualquer idade.Com idade 15, a condição vira False e o bloco do if é pulado por completo. Só a última linha aparece.
Note que pular não é erro. O programa rodou perfeitamente; ele apenas decidiu que aquelas duas mensagens não deviam aparecer. Essa é a diferença entre um programa quebrado e um programa que tomou outro caminho. Iniciantes às vezes rodam um if com condição falsa, veem a tela quase vazia e acham que algo deu errado. Não deu: o silêncio era exatamente a decisão certa.
if atrás de if: decisões independentes
Um programa pode ter quantos if quiser, um atrás do outro. O detalhe importante: cada if é uma decisão independente, com a própria condição avaliada do zero. Não existe conversa entre eles. No exemplo abaixo, uma nota 9.5 dispara os dois blocos, porque as duas condições são verdadeiras ao mesmo tempo.
nota = 9.5
if nota >= 7:
print("Aprovado!")
if nota >= 9:
print("Nota excelente, parabéns!")
# Saída:
# Aprovado!
# Nota excelente, parabéns!Dois if independentes. Com nota 9.5, as duas condições são True e as duas mensagens aparecem.
Guarde esse comportamento, porque ele explica uma escolha que você fará na aula do elif: usar vários if quando as situações podem acontecer juntas (aprovado E com nota excelente) e usar elif quando as situações se excluem (a nota é A OU B OU C, nunca duas ao mesmo tempo). Errar essa escolha não quebra o programa, mas produz resultados esquisitos, como um aluno classificado em dois conceitos.
Teste rápido
O que acontece com o bloco indentado de um if quando a condição vira False?
Perguntas frequentes
- Por que o if precisa dos dois pontos?
- Os dois pontos são a sintaxe oficial do Python para anunciar que um bloco indentado vem a seguir. Eles aparecem no if, no else, no elif e, mais adiante no curso, no while, no for e no def. Sem eles, o Python levanta SyntaxError apontando a posição exata do problema.
- Posso escrever o if e a ação na mesma linha?
- O Python aceita a forma curta if idade >= 18: print("Maior") para blocos de uma linha só, mas o guia oficial de estilo, a PEP 8, desaconselha. Neste curso, bloco vai sempre na linha de baixo, indentado. Código legível vale mais que economizar uma linha.
- Quantas linhas o bloco do if pode ter?
- Quantas você precisar, desde que todas tenham a mesma indentação de 4 espaços. O bloco termina na primeira linha que volta para a margem esquerda. Blocos gigantes, porém, são sinal de que o código merece ser dividido, assunto do módulo de funções.
- O que acontece se eu usar = em vez de == na condição?
- O Python 3 moderno bloqueia com SyntaxError e ainda sugere a correção, perguntando se você quis dizer ==. Um sinal de igual guarda valor em variável; dois sinais comparam valores. Confundir os dois é o erro mais cometido por quem começa, então a mensagem de erro virou didática de propósito.
- Posso usar uma variável bool direto como condição?
- Pode, e fica elegante. Se tem_ingresso guarda True ou False, escrever if tem_ingresso: já funciona, sem precisar de if tem_ingresso == True. A condição só precisa virar um valor booleano, e a variável já é um.
- IF maiúsculo funciona?
- Não. Python diferencia maiúsculas de minúsculas, e as palavras-chave são todas minúsculas: if, else, elif. Escrever If ou IF gera SyntaxError, porque o Python não reconhece a palavra como início de decisão.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.