Created
March 25, 2020 13:46
-
-
Save pvdrz/32ec8dd06f4068539d81c655eebe0d5d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Traer la clase `date` a mi programa | |
from datetime import date | |
class Tarea: | |
def __init__(self, descripcion, categoria, vencimiento): | |
self.descripcion = descripcion | |
self.categoria = categoria | |
self.vencimiento = vencimiento | |
# La fecha de creacion siempre es hoy mismo | |
self.creacion = date.today() | |
# Todas las tareas se crean como no terminadas | |
self.terminada = False | |
def esta_vencida(self): | |
# Una tarea está vencida si su fecha de vencimiento es anterior a hoy | |
return self.vencimiento < date.today() | |
def terminar(self): | |
self.terminada = True | |
def esta_terminada(self): | |
return self.terminada | |
# TODO: retornar un String con la descripcion de la tarea y su fecha de vencimiento | |
# ejemplo: "Organizar cuarto vence el 2020-04-01" | |
def __repr__(self): | |
return None | |
# TODO: comparar dos tareas por su fecha de vencimiento con el operador "<" | |
def __lt__(self, otra): | |
return None | |
class Manejador: | |
def __init__(self): | |
self.tareas = [] | |
def agregar_tarea(self, tarea): | |
self.tareas.append(tarea) | |
def terminar_tarea(self, indice): | |
self.tareas[indice].terminar() | |
# TODO: retornar la tarea que se vence primero | |
# Pista: utilizar el comparador "<" | |
def mas_urgente(self): | |
return None | |
# TODO: recorrer la lista de tareas y retornar la que tenga como descripcion el parametro del metodo | |
# si no existe, retornar None. | |
# Ejemplo: manejador.buscar("Organizar cuarto") debería retornar la tarea con esa descripción | |
def buscar_por_descripcion(self, descripcion): | |
return None | |
manejador = Manejador() | |
mi_tarea = Tarea("Organizar cuarto", "Casa", date(2020, 4, 1)) | |
manejador.agregar_tarea(mi_tarea) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment