Skip to content

Commit e1804c6

Browse files
authored
Merge pull request mouredev#6314 from h4ckxel/03road
#25 - Python
2 parents 09b46d3 + 54a9ddd commit e1804c6

File tree

2 files changed

+112
-0
lines changed
  • Roadmap

2 files changed

+112
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
3+
# URL del sitio web oficial de Bash: https://www.gnu.org/software/bash/
4+
5+
# COMENTARIOS
6+
7+
# Esto es un comentario de una linea.
8+
9+
: '
10+
Este es un comentario
11+
de varias lineas
12+
'
13+
14+
15+
# VARIABLES
16+
17+
variable=0 # variable
18+
readonly constant="Mi constante" # constante
19+
20+
function my_function {
21+
local variable_local=0 # variable local
22+
}
23+
24+
# TIPOS DE DATOS
25+
26+
variable="String" # String
27+
variable=1 # Int
28+
variable=("rojo" "verde" "azul") # Array
29+
variable=true # Boolean
30+
31+
declare -A dictionary
32+
dictionary[valor]='valor1' # diccionario
33+
34+
# Hola mundo
35+
echo "Hola, Bash!" # echo sirve para imprimir en la terminal
36+
37+
# Para llamar a una variable se usa el simbolo $[nombre de la variable]
38+
variable="Hola Bash"
39+
echo $variable

Roadmap/25 - LOGS/python/h4ckxel.py

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)