inventario = { "camiseta": { "variantes": [ {"color": "rojo", "tamaño": "M", "cantidad": 10}, {"color": "azul", "tamaño": "L", "cantidad": 5} ], "precio": 30 }, "pantalones": { "variantes": [ {"color": "negro", "tamaño": "32", "cantidad": 15}, {"color": "azul", "tamaño": "34", "cantidad": 7} ], "precio": 60 } } # stock total de pantalones # llegar a pantalones. Dentro de pantalones, variantes # variantes es una lista, la recorro # dentro de esa lista me interesa la cantidad print(inventario["pantalones"]["variantes"]) suma = 0 for variante in inventario["pantalones"]["variantes"]: print(variante["cantidad"]) suma += variante["cantidad"] print(suma) print(suma*inventario["pantalones"]["precio"]) def vender_producto(inventario, producto, color, tamaño, cantidad_vendida): # comprobar que el producto esté if producto in inventario: # recorro todas las variantes for variante in inventario[producto]["variantes"]: # Si alguna variante coincide con el color y el tamaño if variante["color"] == color and variante["tamaño"] == tamaño: # compruebo que haya suficiente stock if variante["cantidad"] >= cantidad_vendida: # resto la cantidad variante["cantidad"] -= cantidad_vendida return True else: # si no hay suficiente stock devuelvo false return False # si el producto no está en el inventario # o no ha encontrado al recorrer las varianes es color y ese tamaño devuelvo false return False # Ejemplo de uso producto = "camiseta" color = "rojo" tamaño = "M" cantidad_vendida = 3 venta_exitosa = vender_producto(inventario, producto, color, tamaño, cantidad_vendida) print("Venta exitosa:", venta_exitosa) print("Inventario actualizado:", inventario) # Supongamos que quiero hacer una función que me de el stock valorado de un inventario # (cantidad * precio) ¿Como lo hago? def stockValorado(inventario): total=0 # hacer un for sobre inventario que nos devuelve for producto in inventario: valor=inventario[producto] precio=valor["precio"] suma=0 for variante in valor["variantes"]: print(variante["cantidad"]) suma+=variante["cantidad"] print(precio,suma) total+=precio*suma return total print(stockValorado(inventario))