Menu
Coddy logo textTech

If - Else Aninhado

Parte da seção Fundamentals do Journey de Python da Coddy — lição 23 de 77.

Instruções If-Else aninhadas permitem que você verifique múltiplas condições ao colocar uma instrução if-else dentro de outra. Você pode aninhar um bloco if dentro de um bloco else — este é um padrão comum e válido em Python.

Crie uma instrução if-else básica:

age = 18
title = "None"
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

Agora vamos adicionar uma condição aninhada dentro do bloco else:

age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
else:
    title = "Minor"
    if age >= 13:
        title = "Teenager"
    else:
        title = "Child"

Você também pode aninhar uma condição dentro do bloco if:

age = 25
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
    if age >= 21:
        allowed_to_drink = True
    else:
        allowed_to_drink = False
else:
    title = "Minor"

Em ambos os exemplos, o if-else interno só é executado quando a condição externa que o contém é atendida. Colocar uma instrução if dentro de um bloco else (ou dentro de um bloco if) é completamente válido — é exatamente isso que o torna "aninhado".

challenge icon

Desafio

Iniciante

Escreva um programa que determine a elegibilidade para um filme com base na idade e na orientação dos pais.

Código fornecido (não modifique):

  1. Uma variável age é definida e recebe um valor a partir da entrada
  2. Uma variável with_parent é definida e recebe um valor booleano — ela é True se a entrada for "true", ou False se a entrada for "false"
  3. Uma variável message é definida com o valor "None"

Sua tarefa:
Use instruções if-else aninhadas para definir a variável message como uma das seguintes strings:

  1. Se a idade for 18 anos ou mais, defina message como "You can watch any movie".
  2. Se a idade for menor que 18:
    1. Se with_parent for True, defina message como "You can watch PG-13 movies".
    2. Se with_parent for False, defina message como "You can only watch G-rated movies".

Importante: Como with_parent já é um booleano, verifique-o diretamente (ex: if with_parent:) — não o compare com uma string como "true" ou "True".

Importante: As strings devem corresponder exatamente — incluindo capitalização e pontuação. Por exemplo, use "PG-13 movies" ('m' minúsculo), não "PG-13 Movies".

Folha de consulta

Instruções if-elif-else aninhadas permitem a tomada de decisão hierárquica:

if condition1:
    if condition2:
        # Código para quando ambas as condições são verdadeiras
    else:
        # Código para quando condition1 é verdadeira, mas condition2 é falsa
else:
    # Código para quando condition1 é falsa

Exemplo de condições aninhadas:

if age > 18:
    if has_license:
        print("You can drive")
    else:
        print("Get a license first")
else:
    print("Too young to drive")

O aninhamento pode ser infinito, permitindo árvores de decisão complexas:

if condition1:
    if condition2:
        if condition3:
            # Mais condições aninhadas...

Experimente você mesmo

# Obter a idade como um número inteiro
age = int(input())

# Obter orientação parental como um booleano (True/False)
with_parent = input() == "true"

# Declarar uma variável chamada message com "None"
message = "None"

# Escreva seu código if-else aninhado aqui


# Não altere abaixo desta linha
print(message)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentals