Desarrolla el siguiente proyecto en colab y proporciona los códigos del siguiente proyecto: Nombre del proyecto en Python es "Sistema de Gestión de Tareas" . Crea una aplicación que permita a los usuarios agregar, eliminar y actualizar tareas. Puedes incluir características como fechas de vencimiento, prioridades y categorías. Desarrollar paso a paso explicando detalladamente como para un principiante que comienza desde cero
¡Claro! Vamos a desarrollar un "Sistema de Gestión de Tareas" en Python utilizando Google Colab. Este proyecto será una aplicación simple que permitirá a los usuarios agregar, eliminar y actualizar tareas, así como gestionar fechas de vencimiento, prioridades y categorías.
Abre Google Colab: Ve a Google Colab y crea un nuevo cuaderno (notebook).
Instalación de Bibliotecas: Para este proyecto, utilizaremos pandas
para manejar las tareas en forma de tabla. Asegúrate de que pandas
esté instalado. En la primera celda de tu cuaderno, escribe lo siguiente y ejecútalo:
!pip install pandas
Vamos a crear una clase Tarea
que representará cada tarea en nuestro sistema.
import pandas as pd
from datetime import datetime
class Tarea:
def __init__(self, descripcion, fecha_vencimiento, prioridad, categoria):
self.descripcion = descripcion
self.fecha_vencimiento = fecha_vencimiento
self.prioridad = prioridad
self.categoria = categoria
self.estado = 'Pendiente' # Estado inicial de la tarea
def __repr__(self):
return f"Tarea({self.descripcion}, {self.fecha_vencimiento}, {self.prioridad}, {self.categoria}, {self.estado})"
Ahora, crearemos una clase GestorTareas
que manejará la lista de tareas.
class GestorTareas:
def __init__(self):
self.tareas = []
def agregar_tarea(self, tarea):
self.tareas.append(tarea)
def eliminar_tarea(self, descripcion):
self.tareas = [tarea for tarea in self.tareas if tarea.descripcion != descripcion]
def actualizar_tarea(self, descripcion, nueva_descripcion=None, nueva_fecha=None, nueva_prioridad=None, nueva_categoria=None):
for tarea in self.tareas:
if tarea.descripcion == descripcion:
if nueva_descripcion:
tarea.descripcion = nueva_descripcion
if nueva_fecha:
tarea.fecha_vencimiento = nueva_fecha
if nueva_prioridad:
tarea.prioridad = nueva_prioridad
if nueva_categoria:
tarea.categoria = nueva_categoria
def listar_tareas(self):
return pd.DataFrame([tarea.__dict__ for tarea in self.tareas])
Ahora vamos a crear funciones que permitirán a los usuarios interactuar con el sistema.
def menu():
print("Sistema de Gestión de Tareas")
print("1. Agregar tarea")
print("2. Eliminar tarea")
print("3. Actualizar tarea")
print("4. Listar tareas")
print("5. Salir")
def main():
gestor = GestorTareas()
while True:
menu()
opcion = input("Selecciona una opción: ")
if opcion == '1':
descripcion = input("Descripción de la tarea: ")
fecha_vencimiento = input("Fecha de vencimiento (YYYY-MM-DD): ")
prioridad = input("Prioridad (Alta, Media, Baja): ")
categoria = input("Categoría: ")
tarea = Tarea(descripcion, fecha_vencimiento, prioridad, categoria)
gestor.agregar_tarea(tarea)
print("Tarea agregada.")
elif opcion == '2':
descripcion = input("Descripción de la tarea a eliminar: ")
gestor.eliminar_tarea(descripcion)
print("Tarea eliminada.")
elif opcion == '3':
descripcion = input("Descripción de la tarea a actualizar: ")
nueva_descripcion = input("Nueva descripción (dejar en blanco si no se desea cambiar): ")
nueva_fecha = input("Nueva fecha de vencimiento (dejar en blanco si no se desea cambiar): ")
nueva_prioridad = input("Nueva prioridad (dejar en blanco si no se desea cambiar): ")
nueva_categoria = input("Nueva categoría (dejar en blanco si no se desea cambiar): ")
gestor.actualizar_tarea(descripcion, nueva_descripcion or None, nueva_fecha or None, nueva_prioridad or None, nueva_categoria or None)
print("Tarea actualizada.")
elif opcion == '4':
print(gestor.listar_tareas())
elif opcion == '5':
print("Saliendo del sistema.")
break
else:
print("Opción no válida. Intenta de nuevo.")
# Ejecutar el sistema
main()
main()
para iniciar el sistema de gestión de tareas.Has creado un sistema básico de gestión de tareas en Python. Puedes expandir este proyecto añadiendo características como la persistencia de datos (guardando las tareas en un archivo), la validación de entradas, o incluso una interfaz gráfica utilizando bibliotecas como Tkinter o PyQt.
¡Espero que esto te haya sido útil! Si tienes alguna pregunta o necesitas más ayuda, no dudes en preguntar.