El siguiente codigo permite administrar un punto de venta de 3 articulos, no es posible tener el mismo articulo en inventario, se permite vender, listar y agregar productos de manera basica:
def menu(lista_compuesta):
print("********************")
print("OPCIONES")
print("1-agregar productos")
print("2-listar productos")
print("3-vender productos")
print("4-salir")
print("********************")
opcion = int(input("Digite opcion: "))
if opcion ==1:
print("Cuantos productos desea agregar")
cantidadpr = int(input("Digite opcion: "))
agregar(cantidadpr,lista_compuesta)
elif opcion==2:
if len(lista_compuesta)==0:
print("No hay productos en inventario")
menu(lista_compuesta)
else:
listar(lista_compuesta)
elif opcion==3:
if len(lista_compuesta)==0:
print("No hay productos en inventario")
menu(lista_compuesta)
else:
venta(lista_compuesta)
elif opcion==4:
print("Adios")
quit()
else:
print("Opcion no valida")
menu(lista_compuesta)
def agregar(cantidad,lista_compuesta):
lc=len(lista_compuesta)
##Productos nuevos
if lc==0:
searchItem = None
listaexterna =[]
listainterna = []
listafinal=[]
for i in range(0, cantidad):
nprod = input("Nombre producto: ")
listainterna.append(nprod)
cprod = int(input("Cantidad existente: "))
listainterna.append(cprod)
vprod = int(input("Valor de venta: "))
listainterna.append(vprod)
listaexterna.append(listainterna)
#print(listainterna)
#print(listaexterna)
ult=(len(listaexterna))
listafinal=(listaexterna[ult-1])
lista_compuesta = [listafinal[x:x + 3] for x in range(0, len(listafinal), 3)]
menu(lista_compuesta)
##Productos ya en inventario
else:
listaexterna = []
listainterna = []
listafinal = []
listatmp = []
vueltas = 0
for i in range(0, cantidad):
nprod = input("Nombre producto: ")
##Busqueda de nprod en inventario (lista compuesta)
res1 =(any(nprod in sublist for sublist in lista_compuesta))
###Producto digitado ya existe
if res1==True:
print("********************")
print("Producto ya existe no es posible su insercion!")
print("********************")
print("OPCIONES")
print("1-actualizar producto")
print("2-regresar a menu")
opcion = int(input("Digite opcion: "))
if opcion == 1:
for sublista in lista_compuesta:
vueltas = vueltas + 1
if sublista[0] == nprod:
print("Producto,cantidad existente,valor en venta: ", sublista)
cprod = int(input("Cantidad existente: "))
lista_compuesta[vueltas - 1][1]=cprod
vprod = int(input("Valor de venta: "))
lista_compuesta[vueltas - 1][2] = vprod
print("Dato actualizado")
menu(lista_compuesta)
else:
menu(lista_compuesta)
###Producto digitado no existe en un inventario que ya tiene datos
else:
listainterna.append(nprod)
cprod = int(input("Cantidad existente: "))
listainterna.append(cprod)
vprod = int(input("Valor de venta: "))
listainterna.append(vprod)
listaexterna.append(listainterna)
#print(listainterna)
#print(listaexterna)
ult = (len(listaexterna))
listafinal = (listaexterna[ult - 1])
#print(listafinal)
listatmp = [listafinal[x:x + 3] for x in range(0, len(listafinal), 3)]
#print(listatmp)
for y in range(0, len(listatmp)):
lista_compuesta.append(listatmp[y])
menu(lista_compuesta)
def listar(lista_compuesta):
#print(lista_compuesta)
for x in range(0,len(lista_compuesta)):
print("---------------------------------")
print("Producto: ", lista_compuesta[x][0])
print("Cantidad existente: ", lista_compuesta[x][1])
print("Valor a la venta: ", lista_compuesta[x][2])
menu(lista_compuesta)
def venta(lista_compuesta):
nprod = input("Nombre producto: ")
for x in range(0, len(lista_compuesta)):
if lista_compuesta[x][0]==nprod:
cexistente=lista_compuesta[x][1]
print("Cantidad existente: ", cexistente)
ccomprar = int(input("Cantidad a comprar: "))
if ccomprar>cexistente:
print("Excede cantidad en inventario")
menu(lista_compuesta)
else:
cexistente=cexistente-ccomprar
lista_compuesta[x][1]=cexistente
menu(lista_compuesta)
print("Abastecedor La Esperanza ")
lista_compuesta=[]
menu(lista_compuesta);
No hay comentarios:
Publicar un comentario