![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Pilhas |
Escreva um programa Python que usa uma pilha para testar se uma palavra é palíndroma - Desafio de Programação Resolvido em PythonQuantidade de visualizações: 256 vezes |
|
Pergunta/Tarefa: Palíndromo é uma palavra, frase ou número que permanece igual quando lida de trás para diante. Por extensão, palíndromo é qualquer série de elementos com simetria linear, ou seja, que apresenta a mesma sequência de unidades nos dois sentidos. Uma palavra palíndroma é aquela cuja sequência de letras é simétrica, permitindo uma leitura idêntica da esquerda para a direita ou da direita para a esquerda: ovo, osso, reler, anilina. Escreva um programa Python que usa uma pilha para testar se uma palavra é palíndroma. Você pode usar a abordagem que desejar na criação da pilha, ou seja, você pode usar uma pilha criada a partir de um array, o objeto list ou uma lista simplesmente encadeada (lista ligada). Sua saída deverá ser parecida com: Informe uma palavra ou frase: reler A palavra ou frase informada é palíndroma Informe uma palavra ou frase: estudar A palavra ou frase informada não é palíndroma Veja a resolução comentada deste exercício usando Python: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# definição da classe Pilha
class Pilha:
# método construtor
def __init__(self):
# cria uma lista de elementos vazia
self.elementos = []
# método usado para empilhar um novo elemento na pilha
def empilhar(self, elemento):
self.elementos.append(elemento)
# método usado para desempilhar um elemento da pilha
def desempilhar(self):
return self.elementos.pop()
# método para verificar se a pilha está vazia ou não
def vazia(self):
return (self.elementos == [])
# método que retorna o topo da pilha
def retornar_topo(self):
return self.elementos[-1]
# método para mostrar a representação textual da pilha
def __str__(self):
return str(self.elementos)
# função que recebe uma palavra como argumento e usa
# uma pilha para testar se a palavra informada é palíndroma
# ou não
def testar_palindromo(texto):
# vamos criar uma nova pilha
pilha = Pilha()
palindromo = False
# percorremos todos os caracteres do texto informado
# e colocamos cada um na pilha
for caractere in texto:
pilha.empilhar(caractere)
# agora percorremos os caracteres do texto novamente, um de cada
# vez e comparamos com o caractere removido da pilha
for caractere in texto:
if caractere == pilha.desempilhar():
palindromo = True
else:
palindromo = False
return palindromo
# método principal
def main():
# vamos pedir para o usuário informar uma palavra ou frase
palavra = input("Informe uma palavra ou frase: ")
# vamos testar se a palavra ou frase é palíndroma
if testar_palindromo(palavra):
print("A palavra ou frase informada é palíndroma")
else:
print("A palavra ou frase informada não é palíndroma")
if __name__== "__main__":
main()
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
Java - Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para Engenharia Portugol - Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maior |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






