Skip to content

Sistema de registro de calificaciones aplicando CRUD en un .csv utilizando Python y librerías como Matplotlib.

Notifications You must be signed in to change notification settings

OmarFloresPTY/CRUD_CSV_Python_Registro_Calificaciones

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CRUD_CSV_Python_Registro_Calificaciones🐍🎒✍️📓

Sistema de registro de calificaciones aplicando CRUD en un .csv utilizando Python y librerías como Matplotlib.


Introducción📖

El proyecto se enfoca en el desarrollo de un sistema que simula el registro de las actividades de un profesor en una asignatura específica, en la que se llevan a cabo tres pruebas parciales durante el semestre. El sistema tiene la capacidad de generar el promedio de notas de cada estudiante, permitiendo la visualización de todos los datos registrados a través de una tabla y un gráfico de barras que muestra el promedio de notas por cada prueba parcial. Esto permite al profesor identificar las pruebas parciales en las que el grupo no tuvo un rendimiento óptimo.

Cabe destacar que la información se encuentra almacenada en un archivo con formato .csv, con el propósito de mejorar la habilidad en el manejo de este tipo de archivos utilizando el lenguaje de programación Python. Para el manejo de los datos, se aplicó la metodología CRUD (Create, Read, Update, Delete), utilizando una interfaz gráfica diseñada con tkinter para mejorar la imagen del sistema.

En cuanto a la lógica del sistema, se aplicaron conceptos de nivel básico, intermedio y avanzado de Python. Los archivos y el script del proyecto se encuentran alojados en un repositorio de código libre, al que otros programadores están cordialmente invitados a contribuir y mejorar en caso de que deseen desarrollar una versión mejorada de este sistema.

Características🧑‍💻

Presento a continuación una descripción detallada de las características técnicas del proyecto en cuestión:

  • El proyecto fue diseñado utilizando Python 3.11.3, lo cual garantiza su compatibilidad con las últimas versiones de la herramienta.
  • El programa fue desarrollado para funcionar en una interfaz gráfica, lo que permite una interacción más amigable y visual con el usuario.
  • Se hace uso de funciones con parámetros, vacías y con retornos de valores, lo que brinda una gran flexibilidad y modularidad al código.
  • El proyecto utiliza funciones lambdas, lo que permite la creación de funciones anónimas y simplifica la escritura del código.
  • Se emplean técnicas de manejo de errores utilizando try, exception y asserts, lo que permite al programa detectar y manejar situaciones imprevistas que puedan surgir durante su ejecución.
  • Se realiza un manejo de archivos .csv, incluyendo la escritura, lectura y actualización de los mismos, lo que facilita el almacenamiento y procesamiento de datos externos.
  • Se utiliza List y List Comprehensions, lo que permite la manipulación y filtrado de listas de forma más eficiente.
  • Se hace uso de SuperList (Listas que almacenan diccionarios), lo que permite la gestión y organización de datos complejos en el proyecto.
  • Se emplea Dict Comprehensions, lo que permite la creación y manipulación de diccionarios de forma más eficiente.
  • Se utiliza la librería tkinter para el desarrollo de la interfaz gráfica del proyecto.
  • Se utiliza la librería matplotlib para la creación de gráficos y visualizaciones de datos.
  • Se aplican funciones de orden superior (Map, Filter, Reduce), lo que permite la creación de funciones más complejas y potentes.
  • Se realiza un adecuado manejo de paquetes y módulos, lo que permite una mejor organización y mantenimiento del código.
  • Se utiliza un enfoque de paradigmas múltiples, combinando elementos de la programación orientada a objetos (POO) y la programación funcional.
  • Para su correcta ejecución, es necesario instalar las dependencias del proyecto a través del archivo requirements.txt.

Capturas de Pantallas 📷

A continuación se les presentarán las diferentes salidas que otorga el sistema al usuario, en el cual se utilizó la librería Tkinter para la construcción de la ventana de registro principal.

Captura de la ventana principal de registro.

Captura-de-pantalla-2023-05-09-003953

Labels, TextBox y Button principales.

Captura-de-pantalla-2023-05-09-004008

Datagripview (Tabla) donde se visualizan los datos introducidos.

Captura-de-pantalla-2023-05-09-004017

Gráfico generado con la librería matplotlib

Captura-de-pantalla-2023-05-09-004036

Conclusión🔒

Esta versión del proyecto es una versión muy temprana pero funcional, se tiene pensado optar por un mejoramiento de la lógica de programación, el uso de una interfaz web para que el proyecto sea más vistoso, de fácil acceso y que sea un sistema intuitivo para el usuario final. Por último, dentro de la lista de futuras versiones cambiar el .csv por una base de datos SQL,mejorar la lógica de programación e incluir un módulo de ciencias de datos para la estadística que se le brindará de ayuda al profesor.

About

Sistema de registro de calificaciones aplicando CRUD en un .csv utilizando Python y librerías como Matplotlib.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages