Skip to content

Commit fa8ce9e

Browse files
committed
feat: #7 - Python
#7 - Python de mrodara
1 parent 60ab451 commit fa8ce9e

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
#################### PILAS Y COLAS #########################
2+
3+
## PILAS
4+
my_stack = [i for i in range(1,11)]
5+
6+
print(my_stack)
7+
8+
# Añadir un elemento a la pila
9+
my_stack.append(11)
10+
print(my_stack)
11+
12+
# Eliminar una elemento de la pila
13+
my_stack.pop()
14+
15+
print(my_stack)
16+
17+
# Obtención del elemento correspondiente a procesar en una pila
18+
print(my_stack[len(my_stack) - 1])
19+
20+
# Simulación de los procesos de una pila
21+
for proccess in my_stack[::-1]:
22+
print(f"Procesando el proceso {proccess}")
23+
24+
print("La pila de procesos ha finalizado")
25+
26+
## FIN PILAS
27+
28+
## COLAS (FIFO)
29+
30+
my_queue = [i for i in range(1, 11)]
31+
print(my_queue)
32+
33+
# Inserción de un elemento en la cola
34+
my_queue.append(11)
35+
36+
print(my_queue)
37+
38+
# Extracción de un elemento de la cola
39+
my_queue.pop(0)
40+
41+
print(my_queue)
42+
43+
# Procesando todos los elementos de una cola
44+
for proccess in my_queue:
45+
print(f"Procesando el proceso {proccess}")
46+
print("La pila de procesos ha finalizado")
47+
48+
## FIN COLAS
49+
50+
#################### FIN PILAS Y COLAS #########################
51+
52+
53+
#################### EXTRA #########################
54+
55+
# Implementación navegador web
56+
my_websites = ["blank page", "www.marca.com", "www.as.com", "www.elmundo.es"]
57+
position = 0
58+
end = False
59+
while not end:
60+
action = input("Indica que quieres realizar (adelante/atras/web): ")
61+
if action.lower() == "atras":
62+
print(f'Navegando a {my_websites[position-1] if position > 0 else my_websites[0]}')
63+
position -= 1 if position > 0 else 0
64+
elif action.lower() == "adelante":
65+
print(f'Navegando a {my_websites[position+1] if position < len(my_websites) else my_websites[len(my_websites)]}')
66+
position += 1 if position < len(my_websites) - 1 else len(my_websites) - 1
67+
elif action.lower() == 'salir':
68+
end = True
69+
print(f'Historial de navegación: {my_websites}')
70+
print('Cerrando navegador - Fin de programa')
71+
else: # Añadimos una nueva web (en este caso en la posición + 1 de donde nos encontremos)
72+
my_websites.insert(position+1, action.lower())
73+
74+
75+
# Implementación cola de impresión
76+
77+
my_printer_jobs = ["Doc1", "Doc2", "Doc3"]
78+
end = False
79+
80+
while not end:
81+
action = input("Indica la acción a realizar (imprimir/nombre documento/salir): ")
82+
83+
if action.lower() == "imprimir":
84+
print(f'Imprimiendo {my_printer_jobs.pop(0)}')
85+
print(f'Quedan pendientes estos trabajos: {my_printer_jobs}')
86+
elif action.lower() == "salir":
87+
end = True
88+
print(f"Saliendo del spool de impresión, quedan pendientes {len(my_printer_jobs)} documentos por imprimir: {my_printer_jobs}")
89+
else:
90+
my_printer_jobs.append(action.lower())
91+
print(f'El documento {action.lower()} se ha añadido a la cola de impresión quedando así: {my_printer_jobs}')
92+
93+
#################### FIN EXTRA #########################

0 commit comments

Comments
 (0)