Histórico de Navegação com pilhas

 Essa é uma questão para implementar o histórico de navegação utilizando a estrutura de dados chamada pilha.

A pilha é um tipo de estrutura que tem esse nome porque sua inserção e remoção de dados simula a de uma pilha de pratos. Na pilha de pratos, os pratos empilhados por último são os primeiros a serem removidos, enquanto os primeiros a formar a pilha são os últimos a serem usados.

Análogo a isso, na estrutura de dados pilha, os dados que são inseridos primeiro no vetor são os últimos a serem removidos. São conhecidos como FILO (First In, Last Out), no português Primeiro a Entrar, Último a Sair.


'''Histórico de navegação: Escreva um programa em Python que mantenha o histórico de
navegação do usuário em um navegador. O programa deve manter uma pilha de URLs
visitados e permitir que o usuário navegue para trás e para frente pressionando teclas
específicas. Por exemplo, o usuário pode ter visitado vários sites e o programa deve permitir
que ele volte para o site anterior pressionando uma tecla.'''

voltar = []
ir = []

url_atual = str(input())
tecla = 0
while 0 <= tecla <= 2:
    if tecla == 0:
        voltar.append(url_atual)
        url_atual = str(input())
        print(url_atual)

    elif tecla == 1:
        if voltar:
            ir.append(url_atual)
            url_atual = voltar.pop()
            print(url_atual)
        else:
            print("não há url's para voltar")
    
    elif tecla == 2:
        if ir:
            voltar.append(url_atual)
            url_atual = ir.pop()
            print(url_atual)
        else:
            print("não há url's para avançar")

    print('saida')
    print("histórico voltar:", voltar)
    print("histórico ir: ", ir)

    tecla = int(input())

Postar um comentário

0 Comentários