Buscar

Projete e implemente um programa em Python que permitirá as operações empilhar e desempilhar em uma pilha P de caracteres. Seu programa receberá en...

Projete e implemente um programa em Python que permitirá as operações empilhar desempilhar em uma pilha P de caracteres. Seu programa receberá entradas que terão um dos três formatos a seguir:

  1. E X, onde E representa o caractere “E” e X representa um caractere qualquer. Essa operação deve empilhar o caractere X na pilha P;
  2. D, onde D representa o caractere “D”. Essa operação deve executar um desempilhamento em P;
  3. S, onde S representa o caractere “S”. Seu programa deve esvaziar a pilha, imprimir seu conteúdo e encerrar.

Para realizar a leitura de uma linha de entrada, você pode usar o código a seguir:

  1. linha = input()
  2. valores = linha.split(“ “)

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


💡 1 Resposta

User badge image

Ed Verified user icon

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.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais