Verificador de Palíndromo em Python (Usando Slicing de Strings)

 


Verificador de Palíndromo em Python (Usando Slicing de Strings)

Aprenda a verificar se uma palavra ou frase é um palíndromo — ou seja, se pode ser lida da mesma forma de trás para frente — utilizando o fatiamento (slicing) de strings no Python. Esta abordagem resolve o problema de validação de texto de forma extremamente performática e elegante, sem a necessidade de criar laços de repetição manuais.

Python
def eh_palindromo(texto: str) -> bool:
    # Remove espaços, pontuações simples e padroniza para letras minúsculas
    texto_limpo = "".join(c.lower() for c in texto if c.isalnum())

    # Inverte a string com slicing e compara com o texto original
    return texto_limpo == texto_limpo[::-1]


# Exemplos de uso prático
print(eh_palindromo("Arara"))  # Retorna: True
print(eh_palindromo("A base do teto desaba"))  # Retorna: True
print(eh_palindromo("Python"))  # Retorna: False

Pontos-chave

  • A sintaxe [::-1]: O fatiamento (slicing) aceita os parâmetros [início:fim:passo]. Ao omitir o início e o fim e definir o passo como -1, o Python percorre a string inteira de trás para frente em velocidade nativa de C.

  • Tratamento com isalnum() e lower(): Para ignorar espaços, acentos/símbolos e diferenças entre maiúsculas e minúsculas, filtramos apenas caracteres alfanuméricos e convertemos a string para minúscula antes da comparação.

  • Performance superior: O operador de fatiamento [::-1] é muito mais rápido e eficiente em memória do que inverter a string usando a função reversed() combinada com "".join().

  • Pegadinha com caracteres acentuados: A verificação simples com isalnum() não remove acentos (ex: "Aí"). Para palíndromos complexos com acentuação, é necessário normalizar o texto antes usando a biblioteca nativa unicodedata.

Comentários

Postagens mais visitadas deste blog

Gerando Relatórios em PDF com Python (ReportLab e FPDF)

Python para Computação Quântica: Introdução com Qiskit

C# e Banco de Dados: Como Conectar e Realizar Operações com SQL Server