Menu
CoddyTech

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.

Nota: age y with_parent ya tienen su valor, distinto en cada caso de prueba. No les des un valor tú mismo, solo úsalas.

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

# age y with_parent ya tienen su valor
# 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