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.
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
Publicar un comentario