Skip to content

Commit db32cb0

Browse files
committed
#25 - Python
1 parent 8c5bc88 commit db32cb0

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
import logging
2+
import time
3+
4+
'''
5+
EJERCICIO
6+
'''
7+
8+
logging.basicConfig(level=logging.DEBUG,
9+
format='%(asctime)s - %(levelname)s - %(message)s',
10+
handlers=[logging.StreamHandler()])
11+
12+
logging.debug('Esto es un mensaje de DEBUG')
13+
logging.info('Esto es un mensaje de INFO')
14+
logging.warning('Esto es un mensaje de WARNING')
15+
logging.error('Esto es un mensaje de ERROR')
16+
logging.critical('Esto es un mensaje de CRITICAL')
17+
18+
'''
19+
EXTRA
20+
'''
21+
22+
class TaskManager:
23+
def __init__(self) -> None:
24+
self.tasks = {}
25+
26+
def add_task(self, name, description):
27+
start_time = time.time()
28+
if name not in self.tasks:
29+
self.tasks[name] = description
30+
logging.info(f"Tarea añadida: {name}.")
31+
else:
32+
logging.warning(
33+
f"Se ha intentado añadir una tarea que ya existe: {name}.")
34+
logging.debug(f"Número de tareas: {len(self.tasks)}")
35+
end_time = time.time()
36+
self._print_time(start_time, end_time)
37+
38+
def delete_task(self, name):
39+
start_time = time.time()
40+
if name in self.tasks:
41+
del self.tasks[name]
42+
logging.info(f"Se ha eliminado la tarea: {name}.")
43+
else:
44+
logging.error(
45+
f"Se ha intentado eliminar una tarea que no existe: {name}.")
46+
logging.debug(f"Número de tareas: {len(self.tasks)}")
47+
end_time = time.time()
48+
self._print_time(start_time, end_time)
49+
50+
def list_tasks(self):
51+
start_time = time.time()
52+
if self.tasks:
53+
logging.info(f"Lista de tareas: ")
54+
for name, description in self.tasks.items():
55+
print(f"{name} - {description}")
56+
else:
57+
logging.info("No hay tareas para mostrar.")
58+
end_time = time.time()
59+
self._print_time(start_time, end_time)
60+
61+
def _print_time(self, start_time, end_time):
62+
logging.debug(
63+
f"Tiempo de ejecución {end_time - start_time:.6f} seg." )
64+
65+
task_manager = TaskManager()
66+
task_manager.list_tasks()
67+
task_manager.add_task("Pan", "Comprar 5 barras de pan")
68+
task_manager.add_task("Python", "Estudiar Python")
69+
task_manager.list_tasks()
70+
task_manager.delete_task("Python")
71+
task_manager.list_tasks()
72+
task_manager.add_task("Pan", "Comprar 5 barras de pan")
73+
task_manager.delete_task("Python")

0 commit comments

Comments
 (0)