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

[Sugerencia] Pensé un poco mas allá y este es mi código

dic_libros_vendidos = {
"Harry Potter": 5,
"Cien años de soledad": 3,
"El principito": 2,
}

compra = input("Desea comprar libro? : ")
while compra == "si":
libro_cliente = input("Ingrese el nombre del libro a vender: ")

if libro_cliente in dic_libros_vendidos:
if dic_libros_vendidos[libro_cliente] > 0:
dic_libros_vendidos[libro_cliente] -= 1
print(f"¡Venta realizada! Inventario restante de '{libro_cliente}': {dic_libros_vendidos[libro_cliente]}")
compra = input("Desea comprar libro? : ")
else:
print(f"No quedan más unidades de '{libro_cliente}'.")
compra = input("Desea comprar libro? : ")

1 respuesta

Hola Maria, espero que estés bien

¡Qué bueno que estás pensando más allá y compartiendo tu código! Tu enfoque es muy bueno y está casi completo. Sin embargo, según el ejercicio, parece que necesitas asegurarte de que el mensaje "Inventario agotado" se muestre al final cuando ya no queden ejemplares de ningún libro. Aquí tienes una pequeña sugerencia para lograrlo:

Después de que el inventario de un libro llegue a cero, puedes comprobar si todos los libros están agotados. Si es así, deberías imprimir el mensaje "Inventario agotado" y salir del bucle. Aquí tienes un ejemplo de cómo podrías modificar tu código:

dic_libros_vendidos = {
    "Harry Potter": 5,
    "Cien años de soledad": 3,
    "El principito": 2,
}

compra = input("Desea comprar libro? : ")
while compra == "si":
    libro_cliente = input("Ingrese el nombre del libro a vender: ")

    if libro_cliente in dic_libros_vendidos:
        if dic_libros_vendidos[libro_cliente] > 0:
            dic_libros_vendidos[libro_cliente] -= 1
            print(f"¡Venta realizada! Inventario restante de '{libro_cliente}': {dic_libros_vendidos[libro_cliente]}")
        else:
            print(f"No quedan más unidades de '{libro_cliente}'.")

        # Comprobar si todos los libros están agotados
        if all(cantidad == 0 for cantidad in dic_libros_vendidos.values()):
            print("Inventario agotado")
            break

    compra = input("Desea comprar libro? : ")

Con este ajuste, el programa verificará si todos los libros están agotados después de cada venta y mostrará el mensaje "Inventario agotado" cuando sea el caso.

Espero haber ayudado y buenos estudios!