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:
- Use
str.lower()para converter a string para minúsculas. - Use
re.sub()para remover todos os caracteres não alfanuméricos da string. - 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).