Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Utilidad del continue en bucles

Enunciado

Ana está implementando un sistema de filtrado de libros en Buscante. La funcionalidad debe recorrer una lista de libros y mostrar el nombre de cada libro disponible en stock. Sin embargo, si el libro está agotado, debe ser ignorado durante la iteración.

libros = [
    {"nombre": "1984", "stock": 5},
    {"nombre": "Dom Casmurro", "stock": 0},
    {"nombre": "El Principito", "stock": 3},
    {"nombre": "El Hobbit", "stock": 0},
    {"nombre": "Orgullo y Prejuicio", "stock": 2}
]

Crea un programa que ayude a Ana a mostrar solamente los libros que tienen stock disponible, en el formato: "Libro disponible: ".

Salida esperada:

Libro disponible: 1984
Libro disponible: El Principito
Libro disponible: Orgullo y Prejuicio

Solucion

libros = [
    {"nombre": "1984", "stock": 5},
    {"nombre": "Dom Casmurro", "stock": 0},
    {"nombre": "El Principito", "stock": 3},
    {"nombre": "El Hobbit", "stock": 0},
    {"nombre": "Orgullo y Prejuicio", "stock": 2}
]
for l in libros:
    if l["stock"]==0:
        continue
    print(f"Libro disponible: {l["nombre"]}")
1 respuesta

Hola Jose, espero que estés bien

Sugerencia: compartir tu proyecto en el canal #comparta-tu-codigo en el servidor ONE en Discord ;)

Parece que estás en el camino correcto para resolver el problema. El uso del continue en tu bucle for es una excelente manera de ignorar los libros que están agotados. Sin embargo, he notado un pequeño error en tu código que podría estar causando problemas. En la línea donde usas print, las comillas alrededor de l["nombre"] deberían ser simples o dobles, pero no una mezcla de ambas. Aquí tienes la corrección:

libros = [
    {"nombre": "1984", "stock": 5},
    {"nombre": "Dom Casmurro", "stock": 0},
    {"nombre": "El Principito", "stock": 3},
    {"nombre": "El Hobbit", "stock": 0},
    {"nombre": "Orgullo y Prejuicio", "stock": 2}
]

for l in libros:
    if l["stock"] == 0:
        continue
    print(f"Libro disponible: {l['nombre']}")

Con este ajuste, tu programa debería funcionar como esperas, mostrando solo los libros que tienen stock disponible. El continue se asegura de que el bucle pase al siguiente libro si el stock es 0, ignorando así los libros agotados.

Espero haber ayudado y buenos estudios!