0% encontró este documento útil (0 votos)
21 vistas5 páginas

Sistema de Inventario Shaman Tools

El documento describe un sistema de gestión de inventario que incluye funciones para el inicio de sesión de usuarios, registro de nuevos usuarios, adición y actualización de productos en el inventario, y registro de ventas. Los usuarios tienen roles de 'admin' o 'vendedor', y el sistema permite consultar productos y ver un resumen de ventas. Se implementa un ciclo de interacción con el usuario para realizar diversas operaciones relacionadas con el inventario.

Cargado por

yamaro2937
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas5 páginas

Sistema de Inventario Shaman Tools

El documento describe un sistema de gestión de inventario que incluye funciones para el inicio de sesión de usuarios, registro de nuevos usuarios, adición y actualización de productos en el inventario, y registro de ventas. Los usuarios tienen roles de 'admin' o 'vendedor', y el sistema permite consultar productos y ver un resumen de ventas. Se implementa un ciclo de interacción con el usuario para realizar diversas operaciones relacionadas con el inventario.

Cargado por

yamaro2937
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 DOCX, PDF, TXT o lee en línea desde Scribd

# Diccionario de usuarios

usuarios = [

{'id': 1, 'nombre': 'Ren Tao', 'contraseña': '1234_4321', 'rol': 'admin'},

{'id': 2, 'nombre': 'Ioh Asakura', 'contraseña': 'abc_cba', 'rol': 'vendedor'},

{'id': 3, 'nombre': 'Chocolove McDonnell', 'contraseña': '11110000', 'rol': 'vendedor'}

# Diccionario de materiales en inventario

inventario = [

{'id': 1, 'nombre': 'Ladrillo 10x20x30', 'precio_compra': 1200, 'precio_venta': 1500, 'cantidad':


1000},

{'id': 2, 'nombre': 'Cemento Gris x50kg', 'precio_compra': 28000, 'precio_venta': 30000,


'cantidad': 200},

{'id': 3, 'nombre': 'Varilla Corrugada #5 x6m', 'precio_compra': 33000, 'precio_venta': 35000,


'cantidad': 150},

{'id': 4, 'nombre': 'Impermeabilizante 22kg', 'precio_compra': 350000, 'precio_venta': 360000,


'cantidad': 50},

{'id': 5, 'nombre': 'Malla Electro Soldada 6x2.2m', 'precio_compra': 42000, 'precio_venta': 45000,
'cantidad': 75}

# Ventas

ventas = []

# Funciones

def inicio_sesion(usuarios, id_usuario, contraseña):

return next((usuario for usuario in usuarios if usuario['id'] == id_usuario and


usuario['contraseña'] == contraseña), None)

def registrar_usuario(nombre_usuario, contraseña, rol):


[Link]({'id': len(usuarios) + 1, 'nombre': nombre_usuario, 'contraseña': contraseña,
'rol': rol})

return f"Usuario {nombre_usuario} registrado con éxito."

def agregar_producto(nombre_producto, precio_compra, precio_venta, cantidad):

[Link]({'id': len(inventario) + 1, 'nombre': nombre_producto, 'precio_compra':


precio_compra, 'precio_venta': precio_venta, 'cantidad': cantidad})

return f"Producto {nombre_producto} agregado con éxito."

def actualizar_inventario(id_producto, cantidad):

for producto in inventario:

if producto['id'] == id_producto:

producto['cantidad'] += cantidad

return f"Inventario de {producto['nombre']} actualizado."

return "Producto no encontrado."

def consultar_producto(opcion):

if opcion == "1":

id_producto = int(input("Ingrese el ID del producto: "))

producto = next((p for p in inventario if p['id'] == id_producto), None)

return f"Producto: {producto['nombre']}, Precio Compra: {producto['precio_compra']}, Precio


Venta: {producto['precio_venta']}, Cantidad: {producto['cantidad']}" if producto else "Producto no
encontrado."

else:

return "\n".join([f"ID: {p['id']}, Producto: {p['nombre']}, Precio: {p['precio_venta']}, Cantidad:


{p['cantidad']}" for p in inventario]) or "No hay productos en el inventario."

def registrar_venta(id_producto, cantidad_vendida):

for producto in inventario:

if producto['id'] == id_producto:

if producto['cantidad'] >= cantidad_vendida:


total = producto['precio_venta'] * cantidad_vendida

producto['cantidad'] -= cantidad_vendida

[Link]({'id_venta': len(ventas) + 1, 'id_producto': id_producto, 'cantidad':


cantidad_vendida, 'total': total})

return f"Venta registrada. Total: ${total}. Inventario actualizado."

return "Cantidad insuficiente en inventario."

return "Producto no encontrado."

def ver_resumen_ventas():

return "\n".join([f"Producto: {next(p for p in inventario if p['id'] == venta['id_producto'])


['nombre']}, Cantidad: {venta['cantidad']}, Total: {venta['total']}" for venta in ventas])

# -----Sistema de Inventario-----

def sistema_inventario():

while True:

print("\nBienvenido a Shaman Tools")

try:

id_usuario = int(input("Ingrese su ID de usuario: "))

contraseña = input("Ingrese su contraseña: ")

usuario_actual = inicio_sesion(usuarios, id_usuario, contraseña)

if not usuario_actual:

print("Usuario o contraseña incorrectos.")

continue

print(f"Bienvenido {usuario_actual['nombre']} ({usuario_actual['rol']})")

while True:

print("\nOpciones:")

opciones = ["Registrar Usuario", "Agregar Producto", "Actualizar Inventario", "Consultar


Producto", "Ver Resumen de Ventas", "Salir"]

if usuario_actual['rol'] == 'admin':
[Link](0, "Menu Principal")

for i, opcion in enumerate(opciones, 1):

print(f"{i}. {opcion}")

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

if seleccion == "1" and usuario_actual['rol'] == 'admin':

nombre = input("Nombre del nuevo usuario: ")

contraseña = input("Contraseña: ")

rol = input("Rol (admin/vendedor): ")

print(registrar_usuario(nombre, contraseña, rol))

elif seleccion == "2" and usuario_actual['rol'] == 'admin':

nombre = input("Nombre del producto: ")

precio_compra = float(input("Precio de compra: "))

precio_venta = float(input("Precio de venta: "))

cantidad = int(input("Cantidad: "))

print(agregar_producto(nombre, precio_compra, precio_venta, cantidad))

elif seleccion == "3" and usuario_actual['rol'] == 'admin':

id_producto = int(input("ID del producto: "))

cantidad = int(input("Cantidad a agregar: "))

print(actualizar_inventario(id_producto, cantidad))

elif seleccion == "4":

print(consultar_producto(input("Seleccione una opción (1 o 2): ")))

elif seleccion == "5" and usuario_actual['rol'] == 'admin':

print(ver_resumen_ventas())

elif seleccion == "6":

break

else:

print("Opción inválida.")
# Ejecutar el sistema

if __name__ == "__main__":

sistema_inventario()

También podría gustarte