Skip to content

Commit 3324eab

Browse files
authored
Merge pull request mouredev#3754 from ThonyS07/main
#7-Python
2 parents d656e3f + 2ef3ae9 commit 3324eab

File tree

1 file changed

+103
-0
lines changed

1 file changed

+103
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
'''
2+
3+
EJERCICIO:
4+
* Implementa los mecanismos de introducción y recuperación de elementos propios de las
5+
* pilas (stacks - LIFO) y las colas (queue - FIFO) utilizando una estructura de array
6+
* o lista (dependiendo de las posibilidades de tu lenguaje).
7+
*
8+
9+
10+
11+
'''
12+
pila = []
13+
def insertar(elemento):
14+
pila.append(elemento)
15+
print(pila)
16+
def extraer():
17+
pila.pop()
18+
print(pila)
19+
insertar(1)
20+
insertar(2)
21+
insertar(3)
22+
insertar(4)
23+
insertar(5)
24+
extraer()
25+
print(pila)
26+
queue = []
27+
def enqueue(elemento):
28+
queue.append(elemento)
29+
print(queue)
30+
def dequeue():
31+
queue.pop(0)
32+
print(queue)
33+
enqueue(1)
34+
enqueue(2)
35+
enqueue(3)
36+
enqueue(4)
37+
enqueue(5)
38+
dequeue()
39+
print(queue)
40+
41+
#EXTRAAAAA
42+
"""
43+
* - Utilizando la implementación de pila y cadenas de texto, simula el mecanismo adelante/atrás
44+
* de un navegador web. Crea un programa en el que puedas navegar a una página o indicarle
45+
* que te quieres desplazar adelante o atrás, mostrando en cada caso el nombre de la web.
46+
* Las palabras "adelante", "atrás" desencadenan esta acción, el resto se interpreta como
47+
* el nombre de una nueva web.
48+
* - Utilizando la implementación de cola y cadenas de texto, simula el mecanismo de una
49+
* impresora compartida que recibe documentos y los imprime cuando así se le indica.
50+
* La palabra "imprimir" imprime un elemento de la cola, el resto de palabras se
51+
* interpretan como nombres de documentos.
52+
"""
53+
def navegacion():
54+
page = ""
55+
stack=[]
56+
57+
while True:
58+
navegar = input("Indique la URL a la que desea navegar, adelante, atras o salir: ")
59+
if navegar == "adelante":
60+
if len(stack) == 0:
61+
print("No hay historial adelante")
62+
else:
63+
page = stack.pop()
64+
print(f"Navegando hacia {page}")
65+
elif navegar == "atras":
66+
if len(stack)==0:
67+
print("No hay historial atrás")
68+
else:
69+
stack.append(page)
70+
page = stack.pop()
71+
print(f"Navegando hacia {page}")
72+
elif navegar == "salir":
73+
break
74+
else:
75+
stack.append(page)
76+
page=navegar
77+
print(f"Navegando hacia {page}")
78+
79+
def imprimir():
80+
stack=[]
81+
82+
while True:
83+
imprimir = input("Indique i para imprimir, s para salir, o el ")
84+
if imprimir == "i" | "I":
85+
if len(stack) == 0:
86+
print("No hay historial para imprimir. ")
87+
else:
88+
imprimiendo = stack.pop(0)
89+
print(f"Imprimiendo: {imprimiendo}")
90+
elif imprimir == "s" | "S":
91+
break
92+
93+
else:
94+
stack.append(imprimir)
95+
96+
print(f"lista de impresion: {stack}")
97+
98+
99+
navegacion()
100+
imprimir()
101+
102+
103+

0 commit comments

Comments
 (0)