Skip to content

Commit eaca42e

Browse files
authored
Merge pull request mouredev#4519 from Trufoplus/main
#25 - Python
2 parents 37452ec + bc2d4b2 commit eaca42e

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
###############################################################################
2+
### EJERCICIO
3+
###############################################################################
4+
import logging
5+
from datetime import datetime
6+
7+
# Configuracion basica de un logginf
8+
logging.basicConfig(
9+
#filename='my_log.log', # Nombre del archivo de log, si no lo especificas se mostrara por consola
10+
filemode='w', # Modo fe apertura del archivo
11+
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', #Formato del mesaje
12+
datefmt='%d/%m/%Y %H:%M:%S', # Formato de la fecha
13+
level=logging.DEBUG # Nivel de severidad minimo
14+
)
15+
16+
17+
# Uso del logging
18+
19+
logging.debug('Esto es un mensaje de depuración')
20+
logging.info('Esto es un mensaje informativo')
21+
logging.warning('Esto es una advertencia')
22+
logging.error('Esto es un mensaje de error')
23+
logging.critical('Esto es un mensaje crítico')
24+
# Para separar los ejerccios en la consola
25+
print()
26+
print()
27+
print()
28+
###############################################################################
29+
### DIFICULTAD EXTRA
30+
###############################################################################
31+
class TaskManagement():
32+
"""
33+
Programa de gestion de tareas
34+
"""
35+
def __init__(self):
36+
self.tasks = {}
37+
logging.info("Inicialización del programa de gestión de tareas")
38+
39+
def add_task(self, name: str, description: str):
40+
start_time = datetime.now()
41+
if name in self.tasks:
42+
logging.warning(f"La tarea '{name}' ya existe. No se puede agregar de nuevo.")
43+
return
44+
self.tasks[name] = description
45+
logging.info(f"Tarea '{name}' añadida con éxito.")
46+
logging.debug(f"Descripción: {description}")
47+
end_time = datetime.now()
48+
logging.info(f"Tiempo de ejecución para añadir tarea: {end_time - start_time}")
49+
50+
def delete_task(self, name: str):
51+
start_time = datetime.now()
52+
if name not in self.tasks:
53+
logging.error(f"La tarea '{name}' no existe. No se puede eliminar.")
54+
return
55+
del self.tasks[name]
56+
logging.info(f"Tarea '{name}' eliminada con éxito.")
57+
end_time = datetime.now()
58+
logging.info(f"Tiempo de ejecución para eliminar tarea: {end_time - start_time}")
59+
60+
def __str__(self):
61+
print("\nLISTA DE TAREAS: ")
62+
return "\n".join([f"{name}: {desc}" for name, desc in self.tasks.items()])
63+
64+
65+
# Probando el codigo
66+
mis_tareas = TaskManagement()
67+
mis_tareas.add_task('Tarea_1', 'Limpiar el polvo')
68+
mis_tareas.add_task('Tarea_2', 'Limpiar los baños')
69+
mis_tareas.add_task('Tarea_2', 'Limpiar los baños')
70+
print(mis_tareas)
71+
mis_tareas.delete_task('Tarea_1')
72+
mis_tareas.add_task('Tarea_3', 'Limpiar la cocina')
73+
print(mis_tareas)
74+
mis_tareas.delete_task('Tarea_4')

0 commit comments

Comments
 (0)