0% encontró este documento útil (0 votos)
7 vistas4 páginas

Sistema de Gestión de Inventario en Python

El documento es un script en Python que gestiona un sistema de inventario utilizando SQLite. Permite registrar, visualizar, actualizar, eliminar y buscar productos, así como generar reportes de bajo stock. Incluye un menú interactivo para facilitar la interacción del usuario con el sistema.

Cargado por

Megumi Al
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas4 páginas

Sistema de Gestión de Inventario en Python

El documento es un script en Python que gestiona un sistema de inventario utilizando SQLite. Permite registrar, visualizar, actualizar, eliminar y buscar productos, así como generar reportes de bajo stock. Incluye un menú interactivo para facilitar la interacción del usuario con el sistema.

Cargado por

Megumi Al
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

import sqlite3

from colorama import init, Fore

# Inicializar colorama para el uso de colores en terminal


init(autoreset=True)

# ===================== CONEXIÓN Y CONFIGURACIÓN =====================

# Establecer conexión con la base de datos (se crea si no existe)


conn = [Link]('[Link]')
cursor = [Link]()

# Crear la tabla de productos si no existe


[Link]('''
CREATE TABLE IF NOT EXISTS productos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT NOT NULL,
descripcion TEXT,
cantidad INTEGER NOT NULL,
precio REAL NOT NULL,
categoria TEXT
)
''')
[Link]()

# ===================== FUNCIONES PRINCIPALES =====================

def registrar_producto():
"""
Permite al usuario ingresar un nuevo producto en la base de datos.
"""
print([Link] + "\n--- Registrar Nuevo Producto ---")
nombre = input("Nombre: ")
descripcion = input("Descripción: ")
cantidad = int(input("Cantidad: "))
precio = float(input("Precio: "))
categoria = input("Categoría: ")

[Link]('''
INSERT INTO productos (nombre, descripcion, cantidad, precio, categoria)
VALUES (?, ?, ?, ?, ?)
''', (nombre, descripcion, cantidad, precio, categoria))
[Link]()
print([Link] + "✅ Producto registrado con éxito.")

def visualizar_productos():
"""
Muestra todos los productos actualmente registrados.
"""
print([Link] + "\n--- Lista de Productos ---")
[Link]("SELECT * FROM productos")
productos = [Link]()

if productos:
for p in productos:
print(f"{[Link]}ID: {p[0]} | Nombre: {p[1]} | Cantidad: {p[3]} |
Precio: ${p[4]:.2f} | Categoría: {p[5]}")
else:
print([Link] + "No hay productos registrados.")

def actualizar_producto():
"""
Permite actualizar los datos de un producto existente según su ID.
"""
print([Link] + "\n--- Actualizar Producto ---")
id_ = input("ID del producto a actualizar: ")
[Link]("SELECT * FROM productos WHERE id = ?", (id_,))
producto = [Link]()

if producto:
print("Dejar en blanco para mantener el valor actual.")
nombre = input(f"Nuevo nombre ({producto[1]}): ") or producto[1]
descripcion = input(f"Nueva descripción ({producto[2]}): ") or producto[2]
cantidad = input(f"Nueva cantidad ({producto[3]}): ")
cantidad = int(cantidad) if cantidad else producto[3]
precio = input(f"Nuevo precio ({producto[4]}): ")
precio = float(precio) if precio else producto[4]
categoria = input(f"Nueva categoría ({producto[5]}): ") or producto[5]

[Link]('''
UPDATE productos
SET nombre = ?, descripcion = ?, cantidad = ?, precio = ?, categoria
= ?
WHERE id = ?
''', (nombre, descripcion, cantidad, precio, categoria, id_))
[Link]()
print([Link] + "✅ Producto actualizado con éxito.")
else:
print([Link] + "Producto no encontrado.")

def eliminar_producto():
"""
Elimina un producto de la base de datos por su ID.
"""
print([Link] + "\n--- Eliminar Producto ---")
id_ = input("ID del producto a eliminar: ")
[Link]("SELECT * FROM productos WHERE id = ?", (id_,))

if [Link]():
[Link]("DELETE FROM productos WHERE id = ?", (id_,))
[Link]()
print([Link] + "✅ Producto eliminado.")
else:
print([Link] + "Producto no encontrado.")

def buscar_producto():
"""
Permite buscar productos por ID, nombre o categoría.
"""
print([Link] + "\n--- Buscar Producto ---")
print("1. Buscar por ID")
print("2. Buscar por Nombre")
print("3. Buscar por Categoría")
opcion = input("Opción: ")
if opcion == '1':
id_ = input("ID del producto: ")
[Link]("SELECT * FROM productos WHERE id = ?", (id_,))
elif opcion == '2':
nombre = input("Nombre del producto: ")
[Link]("SELECT * FROM productos WHERE nombre LIKE ?", ('%' + nombre
+ '%',))
elif opcion == '3':
categoria = input("Categoría del producto: ")
[Link]("SELECT * FROM productos WHERE categoria LIKE ?", ('%' +
categoria + '%',))
else:
print([Link] + "Opción inválida.")
return

resultados = [Link]()
if resultados:
for p in resultados:
print(f"{[Link]}ID: {p[0]} | Nombre: {p[1]} | Cantidad: {p[3]} |
Precio: ${p[4]:.2f} | Categoría: {p[5]}")
else:
print([Link] + "No se encontraron productos.")

def reporte_bajo_stock():
"""
Genera un reporte de productos con cantidad igual o inferior a un límite
definido.
"""
print([Link] + "\n--- Reporte de Productos con Bajo Stock ---")
limite = int(input("Cantidad límite: "))
[Link]("SELECT * FROM productos WHERE cantidad <= ?", (limite,))
productos = [Link]()

if productos:
for p in productos:
print(f"{[Link]}ID: {p[0]} | Nombre: {p[1]} | Cantidad: {p[3]} |
Precio: ${p[4]:.2f} | Categoría: {p[5]}")
else:
print([Link] + "No hay productos con bajo stock.")

# ===================== MENÚ PRINCIPAL =====================

def menu():
"""
Muestra el menú principal y dirige al usuario según la opción seleccionada.
"""
while True:
print([Link] + "\n====== MENÚ DE INVENTARIO ======")
print("1. Registrar producto")
print("2. Visualizar productos")
print("3. Actualizar producto")
print("4. Eliminar producto")
print("5. Buscar producto")
print("6. Reporte bajo stock")
print("7. Salir")

opcion = input("Seleccione una opción: ")


if opcion == '1':
registrar_producto()
elif opcion == '2':
visualizar_productos()
elif opcion == '3':
actualizar_producto()
elif opcion == '4':
eliminar_producto()
elif opcion == '5':
buscar_producto()
elif opcion == '6':
reporte_bajo_stock()
elif opcion == '7':
print([Link] + "Gracias por usar el sistema. ¡Hasta luego!")
break
else:
print([Link] + "Opción inválida. Intente nuevamente.")

# ===================== EJECUCIÓN =====================


if __name__ == "__main__":
menu()
[Link]()

También podría gustarte