As estruturas condicionais no Python permitem que um programa tome decisões de acordo com determinadas condições. Com elas, podemos fazer o código executar uma ação quando uma condição é verdadeira e outra ação quando ela não é.

Os principais comandos usados para criar essas condições são if, elif e else.

Neste guia, você vai aprender desde o funcionamento básico do if até a combinação de if, elif e else, com exemplos práticos e exercícios para fixar o conteúdo.

Está começando agora?

Antes de avançar, entenda os fundamentos da linguagem no guia O que é Python?.

Pré-requisito: os exemplos deste artigo utilizam Python 3.13+.

O que são estruturas condicionais no Python?

Estruturas condicionais são mecanismos que permitem ao programa avaliar uma condição e decidir o que fazer com base no resultado dessa avaliação.

Imagine um programa que precisa verificar a idade de uma pessoa:

idade = 20

if idade >= 18:
    print("Você é maior de idade.")

Nesse exemplo, o Python verifica se idade >= 18 é verdadeiro.

Quer reforçar os fundamentos?

Entenda como Python trabalha com dados no guia Tipos de Variáveis em Python.

Como 20 é maior ou igual a 18, a mensagem será exibida:

Você é maior de idade.

A ideia básica é:

SE uma condição for verdadeira:
    execute uma ação

No Python, essa decisão é feita principalmente com if, elif e else.

Como funciona o if no Python?

O if é utilizado quando queremos executar determinado bloco de código somente se uma condição for verdadeira.

A estrutura básica é:

if condição:
    # código executado se a condição for verdadeira

Por exemplo:

idade = 25

if idade >= 18:
    print("Você é maior de idade.")

Como idade possui o valor 25, a condição idade >= 18 é verdadeira.

O resultado será:

Você é maior de idade.

Exemplo de if com números

Podemos utilizar o if para verificar valores numéricos:

numero = 10

if numero > 0:
    print("O número é positivo.")

Resultado:

O número é positivo.

Se alterarmos o valor:

numero = -5

if numero > 0:
    print("O número é positivo.")

Nesse caso, nada será exibido, porque a condição é falsa.

O sinal de dois-pontos no if

Observe que o if termina com ::

if idade >= 18:

Esse sinal indica o início do bloco de código associado à condição.

A importância da indentação no Python

Capa do artigo sobre a importância da indentação no Python, mostrando exemplos de código com indentação correta e incorreta.

A indentação é fundamental nas estruturas condicionais do Python.

Veja:

idade = 20

if idade >= 18:
    print("Maior de idade.")

O print() está indentado e, por isso, pertence ao bloco do if.

Um erro comum de iniciantes é escrever:

if idade >= 18:
print("Maior de idade.")

Esse código gera um erro porque o Python espera um bloco indentado depois do if.

Uma forma comum de indentação em Python é utilizar quatro espaços.

Como funciona o elif no Python?

O elif significa, na prática, “senão, se”.

Ele é utilizado quando queremos testar uma nova condição depois de um if.

A estrutura é:

if primeira_condição:
    # código
elif segunda_condição:
    # código

Por exemplo:

idade = 15

if idade >= 18:
    print("Adulto.")
elif idade >= 13:
    print("Adolescente.")

Como 15 não atende à primeira condição, o Python verifica o elif.

A segunda condição é verdadeira, então o resultado será:

Adolescente.

Podemos usar vários elif?

Sim. Podemos utilizar vários elif quando precisamos verificar diferentes possibilidades.

Exemplo:

nota = 8

if nota >= 9:
    print("Excelente")
elif nota >= 7:
    print("Bom")
elif nota >= 5:
    print("Regular")

Como a nota é 8, o segundo bloco será executado:

Bom

O Python verifica as condições em ordem.

Quando encontra uma condição verdadeira em uma estrutura if/elif, executa aquele bloco e não continua verificando os próximos elif.

Como funciona o else no Python?

O else é utilizado quando queremos definir uma ação para o caso em que nenhuma das condições anteriores seja verdadeira.

A estrutura básica é:

if condição:
    # código
else:
    # código alternativo

Exemplo:

idade = 16

if idade >= 18:
    print("Maior de idade.")
else:
    print("Menor de idade.")

Como 16 não é maior ou igual a 18, a condição do if é falsa.

Então o else será executado:

Menor de idade.

O else não possui condição

Uma diferença importante é que o else não recebe uma condição.

Está correto:

if idade >= 18:
    print("Maior de idade.")
else:
    print("Menor de idade.")

Não devemos escrever:

else idade < 18:

Quando precisamos testar outra condição, usamos elif.

Como usar if, elif e else juntos?

Agora podemos combinar os três comandos para criar uma estrutura condicional completa.

Observe:

idade = 15

if idade >= 18:
    print("Adulto")
elif idade >= 13:
    print("Adolescente")
else:
    print("Criança")

O programa verifica as condições de cima para baixo.

Como 15 não é maior ou igual a 18, o if é ignorado.

Depois, o Python verifica:

elif idade >= 13:

Essa condição é verdadeira.

Portanto, o resultado será:

Adolescente

O else não será executado.

Entendendo a ordem de execução

Podemos representar o processo assim:

             idade >= 18?
                /   \
              sim    não
               |       |
            Adulto   idade >= 13?
                       /     \
                     sim      não
                      |         |
                 Adolescente   Criança

Essa ordem é importante porque o Python avalia as condições sequencialmente.

Diferença entre if, elif e else

Embora os três comandos sejam usados em conjunto, cada um possui uma função diferente.

Comando Função
if Testa a primeira condição
elif Testa uma condição alternativa
else Executa quando nenhuma condição anterior é verdadeira

Por exemplo:

temperatura = 30

if temperatura >= 35:
    print("Muito quente")
elif temperatura >= 25:
    print("Quente")
else:
    print("Temperatura agradável")

O if faz o primeiro teste.

Quer entender melhor as condições?

Aprenda mais sobre expressões usadas na construção de condições no artigo Expressões em Python.

O elif verifica uma possibilidade alternativa.

O else funciona como uma alternativa final caso nenhuma condição anterior seja verdadeira.

Exemplo prático: verificar uma nota

Um exemplo comum para iniciantes é criar um programa que classifique uma nota.

nota = 8

if nota >= 9:
    print("Excelente")
elif nota >= 7:
    print("Aprovado")
elif nota >= 5:
    print("Recuperação")
else:
    print("Reprovado")

Nesse caso:

  • notas a partir de 9 recebem “Excelente”;
  • notas a partir de 7 recebem “Aprovado”;
  • notas a partir de 5 recebem “Recuperação”;
  • valores abaixo de 5 recebem “Reprovado”.

Com nota = 8, o resultado será:

Aprovado

Exemplo prático: verificar idade

Outro exemplo:

idade = 12

if idade >= 18:
    print("Você é adulto.")
elif idade >= 13:
    print("Você é adolescente.")
else:
    print("Você é criança.")

Resultado:

Você é criança.

Se alterarmos a idade para 16:

idade = 16

if idade >= 18:
    print("Você é adulto.")
elif idade >= 13:
    print("Você é adolescente.")
else:
    print("Você é criança.")

O resultado será:

Você é adolescente.

Exemplo prático: verificar um número

Também podemos utilizar estruturas condicionais para descobrir se um número é positivo, negativo ou igual a zero.

numero = -3

if numero > 0:
    print("O número é positivo.")
elif numero < 0:
    print("O número é negativo.")
else:
    print("O número é zero.")

Resultado:

O número é negativo.

Observe que o else representa o único caso restante: quando o número não é maior nem menor que zero.

Exemplo prático: sistema de acesso

Podemos utilizar if, elif e else para criar uma lógica simples de acesso:

nivel = "admin"

if nivel == "admin":
    print("Acesso completo.")
elif nivel == "usuario":
    print("Acesso limitado.")
else:
    print("Nível de acesso desconhecido.")

Resultado:

Acesso completo.

Esse tipo de estrutura aparece frequentemente em programas que precisam tomar decisões com base em diferentes valores.

Erros comuns ao usar if, elif e else

Erros comuns ao usar if, elif e else no Python, mostrando exemplos de código com indentação incorreta e correta.

1. Esquecer os dois-pontos

Incorreto:

if idade >= 18
    print("Maior de idade.")

Correto:

if idade >= 18:
    print("Maior de idade.")

O : é necessário depois da condição.

2. Esquecer a indentação

Incorreto:

if idade >= 18:
print("Maior de idade.")

Correto:

if idade >= 18:
    print("Maior de idade.")

3. Usar else com uma condição

Incorreto:

else idade < 18:
    print("Menor de idade.")

Correto:

else:
    print("Menor de idade.")

Se você precisa testar uma nova condição, utilize elif.

4. Confundir = com ==

O operador = é utilizado para atribuição:

idade = 18

Já == é utilizado para comparação:

if idade == 18:
    print("A idade é exatamente 18.")

Essa diferença é fundamental para escrever condições corretamente.

5. Colocar as condições na ordem errada

Considere:

idade = 20

if idade >= 13:
    print("Adolescente ou mais velho")
elif idade >= 18:
    print("Adulto")

O resultado será:

Adolescente ou mais velho

Isso acontece porque 20 >= 13 já é verdadeiro. O Python executa esse bloco e não chega ao elif.

Uma ordem mais adequada seria:

idade = 20

if idade >= 18:
    print("Adulto")
elif idade >= 13:
    print("Adolescente")
else:
    print("Criança")

Por isso, a ordem das condições importa.

Exercícios sobre if, elif e else

Agora é hora de praticar.

Exercício 1 — Maior ou menor de idade

Crie um programa que receba uma idade e mostre:

  • “Maior de idade” se a idade for 18 ou mais;
  • “Menor de idade” caso contrário.

Exercício 2 — Número positivo, negativo ou zero

Crie um programa que receba um número e informe se ele é:

  • positivo;
  • negativo;
  • zero.

Utilize if, elif e else.

Exercício 3 — Classificação de nota

Crie um programa que receba uma nota e apresente:

  • Excelente para notas maiores ou iguais a 9;
  • Aprovado para notas maiores ou iguais a 7;
  • Recuperação para notas maiores ou iguais a 5;
  • Reprovado para notas abaixo de 5.

Exercício 4 — Temperatura

Crie um programa que receba uma temperatura e mostre:

  • Muito quente para temperaturas a partir de 35;
  • Quente para temperaturas entre 25 e 34;
  • Agradável para temperaturas entre 15 e 24;
  • Frio para temperaturas abaixo de 15.

Exercício 5 — Classificação por idade

Crie um programa que receba uma idade e mostre:

  • Criança para menores de 13 anos;
  • Adolescente para idades de 13 a 17;
  • Adulto para idades de 18 a 59;
  • Idoso para 60 anos ou mais.

Gabarito dos exercícios

Resposta do exercício 1

idade = 20

if idade >= 18:
    print("Maior de idade")
else:
    print("Menor de idade")

Resposta do exercício 2

numero = -5

if numero > 0:
    print("Positivo")
elif numero < 0:
    print("Negativo")
else:
    print("Zero")

Resposta do exercício 3

nota = 8

if nota >= 9:
    print("Excelente")
elif nota >= 7:
    print("Aprovado")
elif nota >= 5:
    print("Recuperação")
else:
    print("Reprovado")

Resposta do exercício 4

temperatura = 22

if temperatura >= 35:
    print("Muito quente")
elif temperatura >= 25:
    print("Quente")
elif temperatura >= 15:
    print("Agradável")
else:
    print("Frio")

Resposta do exercício 5

idade = 25

if idade < 13:
    print("Criança")
elif idade < 18:
    print("Adolescente")
elif idade < 60:
    print("Adulto")
else:
    print("Idoso")

Observe que não precisamos escrever idade >= 13 no primeiro elif. Se o programa chegou até ele, significa que a condição anterior já era falsa.

Quer explorar mais tecnologia?

Confira também o guia O que é IA Generativa? e continue ampliando seus conhecimentos.

Conclusão

As estruturas condicionais são fundamentais para aprender programação em Python porque permitem que os programas tomem decisões.

Os três comandos principais que você precisa dominar são:

if
elif
else

O if inicia uma condição, o elif permite verificar possibilidades alternativas e o else representa a alternativa final quando nenhuma condição anterior é verdadeira.

Um exemplo completo é:

idade = 20

if idade >= 18:
    print("Adulto")
elif idade >= 13:
    print("Adolescente")
else:
    print("Criança")

O mais importante neste momento é praticar. Comece criando condições simples e, depois, combine if, elif e else para resolver problemas progressivamente mais complexos.

Continue praticando e confira outros conteúdos de Python no Entre Bugs e Soluções para avançar no aprendizado de programação.

Links pesquisados