forked from mouredev/roadmap-retos-programacion
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJAFeito.py
44 lines (40 loc) · 1.94 KB
/
JAFeito.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
# EJERCICIO:
# Implementa los mecanismos de introducción y recuperación de elementos propios de las
# pilas (stacks - LIFO) y las colas (queue - FIFO) utilizando una estructura de array
# o lista (dependiendo de las posibilidades de tu lenguaje).
# DIFICULTAD EXTRA (opcional):
#- Utilizando la implementación de pila y cadenas de texto, simula el mecanismo adelante/atrás
# de un navegador web. Crea un programa en el que puedas navegar a una página o indicarle
# que te quieres desplazar adelante o atrás, mostrando en cada caso el nombre de la web.
# Las palabras "adelante", "atrás" desencadenan esta acción, el resto se interpreta como
# el nombre de una nueva web.
# - Utilizando la implementación de cola y cadenas de texto, simula el mecanismo de una
# impresora compartida que recibe documentos y los imprime cuando así se le indica.
# La palabra "imprimir" imprime un elemento de la cola, el resto de palabras se
# interpretan como nombres de documentos.
#Solo dificultad extra
lista_pag = ["www.goggle.es","www.microsoft.es","www.youtube.com"]
def navegate (lista_pag):
posicion = 0
continuar = True
while continuar :
eleccion = input("Escriba 'adelante' o 'atras' para navegar, el nombre de la nueva web o 'exit' para salir:")
if eleccion == "atras":
if posicion == 0:
print (f" {lista_pag[posicion]} es la primera. ")
else:
posicion -= 1
print (lista_pag[posicion])
elif eleccion == "adelante":
if posicion == len(lista_pag) - 1:
print (f" {lista_pag[posicion]} es la ultima. ")
else:
posicion += 1
print (lista_pag[posicion])
elif eleccion == "exit":
continuar = False
else:
lista_pag.append(eleccion)
print (f" {eleccion} se ha añadido a la lista.")
navegate(lista_pag)
print(lista_pag)