Menu
Coddy logo textTech

If - Else anidados

Parte de la sección Fundamentos del Journey de Python de Coddy. Lección 23 de 77.

Las instrucciones if-else anidadas te permiten comprobar varias condiciones colocando una instrucción if-else dentro de otra. Puedes anidar un bloque if dentro de un bloque else. Este es un patrón común y válido en Python.

Crea una instrucción if-else básica:

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

Ahora añadamos una condición anidada dentro del bloque 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"

También puedes anidar una condición dentro del bloque 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"

En ambos ejemplos, la estructura if-else interna solo se ejecuta cuando se cumple la condición externa que la contiene. Colocar una instrucción if dentro de un bloque else (o dentro de un bloque if) es completamente válido. Esto es precisamente lo que hace que esté «anidada».

challenge icon

Desafío

Principiante

Escribe un programa que determine si una persona puede ver una película según su edad y la supervisión parental.

Código proporcionado (no modificar):

  1. Se define una variable age y se le asigna un valor introducido por el usuario
  2. Se define una variable with_parent y se le asigna un valor booleano. Es True si la entrada es "true", o False si la entrada es "false"
  3. Se define una variable message con el valor "None"

Tu tarea:
Usa sentencias if-else anidadas para establecer la variable message en una de las siguientes cadenas:

  1. Si la edad es de 18 años o más, establece message en "You can watch any movie".
  2. Si la edad es menor de 18 años:
    1. Si with_parent es True, establece message en "You can watch PG-13 movies".
    2. Si with_parent es False, establece message en "You can only watch G-rated movies".

Importante: Como with_parent ya es un booleano, compruébalo directamente (por ejemplo, if with_parent:): no lo compares con una cadena como "true" o "True".

Importante: Las cadenas deben coincidir exactamente, incluidas las mayúsculas y la puntuación. Por ejemplo, usa "PG-13 movies" (con la «m» en minúscula), no "PG-13 Movies".

Pruébalo tú mismo

# Obtén la edad como un entero
age = int(input())

# Obtén la orientación parental como un booleano (True/False)
with_parent = input() == "true"

# Declara una variable llamada message con "None"
message = "None"

# Escribe tu código if-else anidado aquí


# No cambies debajo de esta línea
print(message)
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Python online