Projete e implemente um programa em Python que permitirá as operações empilhar e desempilhar em uma pilha P de caracteres. Seu programa receberá entradas que terão um dos três formatos a seguir:
Para realizar a leitura de uma linha de entrada, você pode usar o código a seguir:
Por exemplo, se o conteúdo digitado na variável linha for E T, a variável valores será um vetor cuja primeira posição será “E” e o segundo valor será “T”. Se o conteúdo digitado na variável linha for D, a variável valores será um vetor com apenas uma posição contendo o valor “D”.
Por exemplo:
EntradaResultadoE T E E E O D D E A S A T
Segue abaixo uma possível solução em Python para o problema proposto: ```python class Pilha: def __init__(self): self.itens = [] def empilhar(self, item): self.itens.append(item) def desempilhar(self): if not self.esta_vazia(): return self.itens.pop() def esta_vazia(self): return len(self.itens) == 0 def esvaziar(self): self.itens = [] def imprimir(self): print(self.itens) pilha = Pilha() while True: entrada = input() valores = entrada.split() if valores[0] == 'E': pilha.empilhar(valores[1]) elif valores[0] == 'D': pilha.desempilhar() elif valores[0] == 'S': pilha.imprimir() pilha.esvaziar() break ``` Explicação: - A classe `Pilha` representa uma pilha de caracteres e possui os métodos `empilhar`, `desempilhar`, `esta_vazia`, `esvaziar` e `imprimir`. - O programa principal cria uma instância da classe `Pilha` e entra em um loop infinito para ler as entradas do usuário. - Para cada entrada, o programa verifica se o primeiro caractere é "E", "D" ou "S" e executa a operação correspondente na pilha. - Quando a entrada é "S", o programa imprime o conteúdo da pilha, esvazia a pilha e encerra o loop.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar