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.

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çaNo exemploSe faltar
Palavra ififO Python não reconhece a decisão
Condiçãoidade >= 18SyntaxError: 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.