forked from mouredev/roadmap-retos-programacion
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvictorfer69.py
78 lines (57 loc) · 1.79 KB
/
victorfer69.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#Pila (LIFO)
stack = []
stack.append("1")
stack.append("2")
stack.append("3")
print(stack) #Inicializamos la pila
stack.pop() #Sacar un item de la pila (el último que se añadió)
print(stack)
#Cola (FIFO)
queue = []
queue.append("1")
queue.append("2")
queue.append("3")
print(queue) #Iniciar la cola
queue.pop(0) #Sacar un item de la cola (el primero que se añadió)
print(queue)
#EJERCICIO EXTRA
def web_navegation():
stack = []
while True:
action = input("Añade una url o interactúa con palabras adelante/atras/salir: ")
match action:
case "adelante":
#Como la página web no es una pila, entonces no hay operacion de adelante
pass
case "atras":
if(len(stack) > 0):
stack.pop()
else:
print("Añade una URL para poder navegar")
case "salir":
print("Hasta la próxima")
break
case _:
stack.append(action)
if len(stack) > 0:
print("Estas en la web " + stack[len(stack)-1])
else:
print("Estas en la página de inicio")
web_navegation()
def printer():
queue = []
while True:
action = input("Añade un documento o interactúa con palabras imprimir/salir: ")
match action:
case "imprimir":
if len(queue) > 0:
print(f"Imprimiendo: {queue.pop(0)}")
else:
print("No hay documentos en la impresora")
case "salir":
print("Hasta la próxima")
break
case _:
queue.append(action)
print("Documento añadido")
printer()