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 = ""
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

Ahora añadamos una condición anidada dentro del bloque else:

age = 18
title = ""
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 = ""
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 se ejecuta solo cuando se ejecuta el bloque que la contiene: la que está en el bloque else se ejecuta cuando age >= 18 es falso, y la que está en el bloque if se ejecuta cuando age >= 18 es verdadero. 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 de sus padres.

Nota: age y with_parent ya están definidos para ti, con distintos valores en cada caso de prueba. No los definas tú; simplemente úsalos.

Tu tarea:
Usa instrucciones if-else anidadas para asignar a la variable message una de las siguientes cadenas:

  1. Si age es 18 o más, asigna message a "You can watch any movie".
  2. Si age es menor de 18:
    1. Si with_parent es True, asigna message a "You can watch PG-13 movies".
    2. Si with_parent es False, asigna message a "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' minúscula), no "PG-13 Movies".

Pruébalo tú mismo

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


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