Ir ao conteúdo

Python Fazer um balanceamento sem o uso do append, tem que ser o PUSH mas não sei fazer


Ir à solução Resolvido por Regis Marcos Correa Junior,

Posts recomendados

  • Solução
Postado

Eu tenho que fazer um código onde tem que haver os balanceamento porém só sei resolver com o append entretanto pede-se no exercício o uso de métodos de pilha ou seja tem que usar o Push no lugar do append e eu não sei fazer isso 

def  balanceada(string):
    abertura = [ "(", "[", "{" ]
    fechamento = [ ")", "]", "}"]
    correspondentes = { fecha: abre for abre, fecha in zip(abertura, fechamento) }
    Pilha = []
    for i in string:
        if i in abertura: # se é (, {, [ 
            Pilha.append(i)
        elif i in fechamento: # se é ), }, ] 
            if not Pilha: # se a lista está vazia
                return False
            if correspondentes[i] == Pilha[-1]:
                Pilha.pop()

    return not bool(Pilha)

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!