top of page
Foto del escritorPablo Ramirez

Optimizando la Eficiencia Empresarial: Python en la Gestión Inteligente de Inventario.


La programación, un lenguaje universal que ha transformado la manera en que interactuamos con el mundo digital. Entre los numerosos lenguajes de programación, Python destaca como una herramienta versátil y poderosa. Su sintaxis sencilla y legibilidad han hecho que sea la elección preferida para desarrolladores novatos y expertos por igual.

Python se ha convertido en el lenguaje de referencia en diversos campos, desde desarrollo web hasta inteligencia artificial. Su comunidad activa y amplia gama de bibliotecas lo hacen idóneo para casi cualquier tarea.

Hablemos de la importancia de Python en la administración del inventario de un negocio. La eficiencia en la gestión del inventario es crucial para el éxito empresarial. Python ofrece una serie de ventajas para facilitar esta tarea. Su capacidad para manejar datos de manera eficiente, junto con bibliotecas como Pandas, hace que sea ideal para analizar grandes conjuntos de datos de inventario.

Además, la automatización es clave en la administración del inventario. Python permite crear scripts y programas que pueden realizar tareas repetitivas, como la actualización de niveles de stock, seguimiento de productos y generación de informes. La simplicidad de Python facilita la implementación de soluciones personalizadas que se adapten a las necesidades específicas de cada negocio.

A continuación, les muestro un ejemplo básico de código en Python para la administración del inventario. Recuerden que este es solo un punto de partida, y pueden adaptarlo según sus requisitos específicos:


#BASE DE DATOS DE UNA PAPELERIA

class funcion:

def __init__(self):

self.nombre=""

self.marca=""

self.unidades= 0

self.precio_publico= 0

self.precio_promedio = 0

self.L_inverciones= []

self.Invercion= 0

#---------------------------------------------------------------------------------------------------------

def P_nombre(self):

nom=input("\nPorfavor ingrese el nombre del producto: \n\t")

self.nombre=nom

#---------------------------------------------------------------------------------------------------------

def P_marca(self):

nom=input("\nPorfavor ingrese la marca del producto: \n\t")

self.marca=nom

#---------------------------------------------------------------------------------------------------------

def Inversion(self):

Costo=int(input("Porfavor ingresa el costo en el que te salio el producto: \n "))

Piezas=int(input("Porfavor ingresa el numero de piezas que tiene:\n "))

self.L_inverciones=[Piezas,"unidades a el precio de: ", Costo]

self.unidades=Piezas

self.Invercion=Costo

#---------------------------------------------------------------------------------------------------------

def Calcular_PP(self,U,I):

Precio_por_pieza=I/U

self.precio_promedio=Precio_por_pieza

#---------------------------------------------------------------------------------------------------------

def Precio_Publico(self,PROMEDIO):

while True:

Opc=int(input("\nPorfavor indique si le quiere ganar un pocerntaje o una cantidad especifica extra al prodcuto\n\t1_Decidir un porcentaje\n\t2_Decidir monto extra\n\n\tEleccion:"))

if Opc !=1 and Opc !=2:

print("Error a seleccionado una funcion inexistente vuelva a intentar")

elif Opc==1:

ganancia=int(input("Porfavor indique el porcentaje extra que decea ganar por pieza: "))

P_publico=PROMEDIO+(PROMEDIO*(ganancia/100))

self.precio_publico=P_publico

break

elif Opc==2:

ganancia=int(input("Porfavor indique la cantidad extra que decea ganar por pieza: "))

P_publico=PROMEDIO+ganancia

self.precio_publico=P_publico

break

#---------------------------------------------------------------------------------------------------------

def Buscar_repetidos(self,Name,Almacen,Lista_de_repetidos,i,NP):

while True:

if i < (NP+1):

if Almacen[i][0]==Name:

Lista_de_repetidos+=[i]

i+=1

else:

break

return Lista_de_repetidos

#---------------------------------------------------------------------------------------------------------

def Buscar_ID(self):

ID=int(input("Porfavor ingresa el Id del producto que estas buscando\n\t"))

return ID

#===============================================================================================================================================

#===============================================================================================================================================

#===============================================================================================================================================

def main():

codigos={}

productos={}

Accion=funcion()

op=0;Id=0

print("BASE DE DATOS DE PALERIA KOHMI")

while True:

i=1

NProdcutoss=len(codigos)

op=int(input("\n\nPorfavor indique que decea realizar\n\n\t1_Revisar almacén\n\t2_Revisar costos de un producto\n\t3_Editar costo de un producto\n\t4_Agregar nuevo producto\n\t5_Registrar invercion de producto existente\n\t6_Crear cuenta de compra\n\t7_Salir\n\n\t"))

if op > 7 or op < 1:

print ("Esa funcion no existe porfavor vuelve a probar")

elif op==1:

while i < (NProdcutoss+1):

print ("Nombre del producto: '", codigos[i][0],"' de la marca: ",codigos[i][1]," con el ID: ", i,"\t Pz: ",codigos[i][4],"\nTu costo de invercion por pieza es de: ",codigos[i][2]," por lo que lo vendes en: ",codigos[i][3]," Tu inversion total del producto es de: $",codigos[i][5],"\nTu registro de inverciones es el siguiente:\n",codigos[i][6],"\n\n")

i+=1

elif op==2 or op==3 or op==5:

Y=0

if op==3:

Y=1

elif op==5:

Y=2

while True:

op=int(input("Porfavor indica como deceas buscar el prodecuto\n\n\t1_Por nombre\n\t2_Por id\n\n\tEleccion:"))

if op!=1 and op!=2:

print("La funcion seleccionada no existe, vuelva a intentar\n")

elif op==1:

while True:

Productos_iguales=[]

Accion.P_nombre()

if Accion.nombre in productos:

break

else:

("Ese producto no esta en el almacen")

Productos_iguales=Accion.Buscar_repetidos(Accion.nombre,codigos,Productos_iguales,i,NProdcutoss)

nProductos_iguales=len(Productos_iguales)

print("Tienes ese producto en diferentes marcas:\n")

i=0

while i != nProductos_iguales:

print("\t",i+1,"=",codigos[Productos_iguales[i]][1])

i+=1

i=int(input("\nPorfavor selecciona la marca de la que deceas buscar:\n\t"))

if Y != 2:

print ("Tu costo de invercion de ese producto por pieza es de: ",codigos[Productos_iguales[i-1]][2]," por lo que lo vendes en: ",codigos[Productos_iguales[i-1]][3])

break

else:

while True:

i=Accion.Buscar_ID()

if i in codigos:

break

else:

print("Ese codigo no corresponde a ningun producto vuelva a intentar")

if Y != 2:

print ("Tu costo de invercion de ese producto por pieza es de: ",codigos[i][2]," por lo que lo vendes en: ",codigos[i][3])

break

if Y!=0 and op==2:

if Y==2:

Accion.Inversion()

codigos[i][4]+=Accion.unidades

codigos[i][5]+=Accion.Invercion

codigos[I][6]+=Accion.L_inverciones

Accion.Calcular_PP(codigos[i][4], codigos[i][5])

codigos[i][2]=Accion.precio_promedio

Accion.Precio_Publico(codigos[i][2])

codigos[i][3]=Accion.precio_publico

nombre=codigos[i][0]

elif Y!=0 and op==1:

if Y==2:

Accion.Inversion()

codigos[Productos_iguales[i-1]][4]+=Accion.unidades

codigos[Productos_iguales[i-1]][5]+=Accion.Invercion

codigos[Productos_iguales[i-1]][6]+=Accion.L_inverciones

Accion.Calcular_PP(codigos[Productos_iguales[i-1]][4], codigos[Productos_iguales[i-1]][5])

codigos[Productos_iguales[i-1]][2]=Accion.precio_promedio

Accion.Precio_Publico(codigos[Productos_iguales[i-1]][2])

codigos[Productos_iguales[i-1]][3]=Accion.precio_publico

nombre=codigos[Productos_iguales[i-1]][0]

elif op==4:

while True:

Accion.P_nombre()

Accion.P_marca()

if Accion.nombre not in productos:

break

if Accion.marca not in productos[Accion.nombre][1]:

break

else:

op=int(input("Ese producto ya existe, si decea agregar otro prodcuto diferente precione: '1', de lo contrario precione cualquier otro numero\n\tEleccion:"))

if op!=1:

break

Accion.Inversion()

Accion.Calcular_PP(Accion.unidades,Accion.Invercion)

print("El precio por pieza del producto con el que lo conseguimos es de: ",Accion.precio_promedio)

Accion.Precio_Publico(Accion.precio_promedio)

if op !=0:

Id+=1

productos[Accion.nombre]=[Id,Accion.marca,Accion.precio_promedio,Accion.precio_publico,Accion.unidades,Accion.Invercion,Accion.L_inverciones]

codigos[Id]=[Accion.nombre, Accion.marca, Accion.precio_promedio, Accion.precio_publico, Accion.unidades, Accion.Invercion, Accion.L_inverciones]

elif op==6:

Compraa=[]

TOTAL=0

op=1

while op==1:

op=int(input("Porfavor indica como deceas buscar el prodecuto\n\n\t1_Por nombre\n\t2_Por id\n\n\tEleccion:"))

if op!=1 and op!=2:

print("La funcion seleccionada no existe, vuelva a intentar\n")

elif op==1:

while True:

Productos_iguales=[]

Accion.P_nombre()

if Accion.nombre in productos:

break

else:

("Ese producto no esta en el almacen")

Productos_iguales=Accion.Buscar_repetidos(Accion.nombre,codigos,Productos_iguales,i,NProdcutoss)

nProductos_iguales=len(Productos_iguales)

print("Tienes ese producto en diferentes marcas:\n")

i=0

while i != nProductos_iguales:

print("\t",i+1,"=",codigos[Productos_iguales[i]][1])

i+=1

i=int(input("\nPorfavor selecciona la marca de la que deceas seleccionar:\n\t"))

print ("Cuentas con estas piezas en almacen: ",codigos[Productos_iguales[i-1]][4])

while True:

PVZ=int(input("Porfavor indica el numero de pz que venderas: "))

if PVZ>codigos[Productos_iguales[i-1]][4]:

print("NO CUENTAS CON ESAS PEIZAS EN ALMACEN PORFAVOR VUELVE A INTNETAR")

else:

break

codigos[Productos_iguales[i-1]][4] = (codigos[Productos_iguales[i-1]][4]- (PVZ))

TOTAL+=PVZ*codigos[Productos_iguales[i-1]][3]

else:

while True:

i=Accion.Buscar_ID()

if i in codigos:

break

else:

print("Ese codigo no corresponde a ningun producto vuelva a intentar")


print ("Cuentas con estas piezas en almacen: ",codigos[i][4])

while True:

PVZ=int(input("Porfavor indica el numero de pz que venderas: "))

if PVZ>codigos[i][4]:

print("NO CUENTAS CON ESAS PEIZAS EN ALMACEN PORFAVOR VUELVE A INTNETAR")

else:

break

codigos[i][4] = codigos[i][4]-(PVZ)

TOTAL+=PVZ*codigos[i][3]

op=int(input("Si deceas agregar otro producto a la compra porfavor preciona 1 de lo contrario pereciona cualquier otro numero : "))

print ("Serian:",TOTAL)

else:

break


if __name__=="__main__":

main()





5 visualizaciones0 comentarios

Comments


bottom of page