Detecção de Palíndromos em Python

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Um palíndromo é uma palavra, frase, número ou outra sequência de caracteres que se lê da mesma forma para a frente e para trás. Por exemplo, "arara" é um palíndromo porque, ao inverter a palavra, ela ainda soletra "arara". Neste desafio, você escreverá uma função que verifica se uma determinada string é um palíndromo.

Palíndromo

Escreva uma função palindrome(s) que recebe uma string s como seu único parâmetro e retorna True se s for um palíndromo e False caso contrário. Sua função deve ignorar a capitalização e os caracteres não alfanuméricos ao verificar palíndromos.

Para resolver este problema, você pode seguir estes passos:

  1. Use str.lower() para converter a string para minúsculas.
  2. Use re.sub() para remover todos os caracteres não alfanuméricos da string.
  3. Compare a string resultante com sua versão invertida usando a notação de fatiamento (slice notation).
from re import sub

def palindrome(s):
  s = sub('[\W_]', '', s.lower())
  return s == s[::-1]
palindrome('taco cat') ## True

Resumo

Neste desafio, você aprendeu como verificar se uma determinada string é um palíndromo. Você usou str.lower() e re.sub() para converter a string para minúsculas e remover caracteres não alfanuméricos, e então comparou a string resultante com sua versão invertida usando a notação de fatiamento (slice notation).