Inventario Técnico UE Pelileo

 

💻 Proyecto: "Inventario Técnico UE Pelileo"

1. El Objetivo

Crear un programa en Python que permita registrar computadoras en una base de datos, consultar el stock y cerrar el programa de forma segura.

2. El Código Base (Script)

Proporciona este código a tus estudiantes como punto de partida. Está estructurado para ser claro y fácil de seguir.

Python
import sqlite3

# 1. Conexión y creación de la base de datos
def inicializar_db():
    conexion = sqlite3.connect("laboratorio.db")
    cursor = conexion.cursor()
    # Crear la tabla si no existe
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS equipos (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            nombre TEXT NOT NULL,
            estado TEXT NOT NULL,
            cantidad INTEGER NOT NULL
        )
    ''')
    conexion.commit()
    conexion.close()

# 2. Función para insertar un nuevo equipo
def agregar_equipo(nombre, estado, cantidad):
    conexion = sqlite3.connect("laboratorio.db")
    cursor = conexion.cursor()
    cursor.execute("INSERT INTO equipos (nombre, estado, cantidad) VALUES (?, ?, ?)", 
                   (nombre, estado, cantidad))
    conexion.commit()
    conexion.close()
    print("\n✅ Equipo registrado exitosamente.")

# 3. Función para mostrar todos los equipos
def mostrar_inventario():
    conexion = sqlite3.connect("laboratorio.db")
    cursor = conexion.cursor()
    cursor.execute("SELECT * FROM equipos")
    equipos = cursor.fetchall()
    
    print("\n--- INVENTARIO ACTUAL ---")
    for e in equipos:
        print(f"ID: {e[0]} | Equipo: {e[1]} | Estado: {e[2]} | Cantidad: {e[3]}")
    conexion.close()

# --- MENÚ PRINCIPAL ---
inicializar_db()
while True:
    print("\n--- SISTEMA DE INVENTARIO LAB ---")
    print("1. Agregar Equipo")
    print("2. Ver Inventario")
    print("3. Salir")
    
    opcion = input("Seleccione una opción: ")
    
    if opcion == "1":
        nom = input("Nombre del equipo (ej. Monitor Dell): ")
        est = input("Estado (Bueno/Reparación): ")
        cant = int(input("Cantidad: "))
        agregar_equipo(nom, est, cant)
    elif opcion == "2":
        mostrar_inventario()
    elif opcion == "3":
        print("Saliendo del sistema...")
        break
    else:
        print("Opción no válida.")

📝 Actividad Práctica para el Estudiante

Instrucciones: Una vez que el código anterior funcione, los estudiantes deben realizar las siguientes mejoras técnicas:

Reto 1: La "Actualización" (UPDATE)

Crea una función llamada actualizar_estado() que pida el ID de un equipo y permita cambiar su estado de "Bueno" a "Reparación".

  • Pista: Usa la sentencia SQL: UPDATE equipos SET estado = ? WHERE id = ?.

Reto 2: El "Borrado" (DELETE)

Añade una opción al menú para eliminar un equipo del inventario usando su ID.

  • Pista: Usa DELETE FROM equipos WHERE id = ?.

Reto 3: Validación de Datos

Modifica la función de entrada para que, si el usuario ingresa una cantidad negativa, el programa muestre un error y no guarde el registro.

Comentarios

Entradas populares de este blog

PROGRAMACIÓN ORIENTADA A OBJETOS (POO)

Análisis de Necesidades y el Estudio de Viabilidad