Skip to content

Commit 178b9dd

Browse files
authored
Merge pull request mouredev#6441 from Ipfabio/main
#7 - Python
2 parents 1814363 + 8b7aa8c commit 178b9dd

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
"""
2+
Ejercicio
3+
"""
4+
5+
# Pila/Stack (LIFO Last In First Out)
6+
7+
# Push
8+
stack = []
9+
stack.append(1)
10+
stack.append(2)
11+
stack.append(3)
12+
print(stack)
13+
14+
# Pop
15+
stack_item = stack[len(stack) - 1]
16+
del stack[len(stack) - 1] # delete last item
17+
print(stack_item)
18+
19+
print(stack.pop()) # delete last item
20+
21+
print(stack)
22+
23+
# Cola/Queue (FIFO First In First Out)
24+
queue = []
25+
26+
# enqueue (encolar)
27+
queue.append(1)
28+
queue.append(2)
29+
queue.append(3)
30+
31+
# dequeue (desencolar)
32+
queue_item = queue[0]
33+
del queue[0]
34+
35+
print(queue.pop(0))
36+
37+
print(queue)
38+
39+
"""
40+
Extra
41+
"""
42+
43+
# Opciones
44+
def opciones():
45+
print("""1. Login\n2. Profile\n3. Atras\n4. Salir""")
46+
47+
# Web
48+
def web_navigation():
49+
stack = [] # Inicialización pila vacía para rastrear navegación
50+
opciones() # Llamada función opciones
51+
while True:
52+
opcion = input("Ingresa la opcion: ") # Solicita al usuario la opción
53+
match opcion:
54+
case "1":
55+
stack.append("/Login/") # Agrega "/Login/" a la pila
56+
case "2":
57+
stack.append("/Login/Profile") # Agrega "/Login/Profile" a la pila
58+
case "3":
59+
if len(stack) > 0:
60+
stack.pop() # Elimina el último elemento de la pila si no está vacía
61+
case "4":
62+
print("Saliendo del navegador.") # Imprime mensaje y sale del bucle
63+
break
64+
case _:
65+
print("Opcion no válida.") # Imprime mensaje si no recibe una opción válida
66+
67+
if len(stack) > 0:
68+
print(stack[len(stack) - 1]) # Imprime el último elemento de la pila
69+
else:
70+
print(f"Esta en Home. Quiere salir? Presione 4.") # Mensaje cuando la pila está vacía
71+
72+
73+
web_navigation()
74+
75+
def impresora_compartida():
76+
queue = [] # Inicializa cola vacía para documentos
77+
78+
while True:
79+
80+
action = input("Agrega un documento o selecciona imprimir/salir: ") # Solicita acción del usuario
81+
82+
if action == "salir":
83+
break # Sale del bucle
84+
elif action == "imprimir":
85+
if len(queue) == 0:
86+
print(f"No hay elementos a imprimir.") # Informa si no hay documentos en cola
87+
88+
if len(queue) > 0:
89+
elemento_0 = queue.pop(0) # Elimina y obtiene el documento
90+
print(f"Imprimiendo: {elemento_0}")
91+
else:
92+
queue.append(action) # Agrega el documento a cola
93+
94+
print(f"Cola de impresión: {queue}") # Muestra el estado actual de cola
95+
96+
97+
98+
impresora_compartida()

0 commit comments

Comments
 (0)