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))