Introducción
Un palíndromo es una palabra, frase, número u otra secuencia de caracteres que se lee igual de izquierda a derecha que de derecha a izquierda. Por ejemplo, "racecar" es un palíndromo porque al invertir la palabra, todavía se escribe "racecar". En este desafío, escribirás una función que compruebe si una cadena dada es un palíndromo.
Palíndromo
Escribe una función palindrome(s) que tome una cadena s como único parámetro y devuelva True si s es un palíndromo y False en caso contrario. Tu función debe ignorar la capitalización y los caracteres no alfanuméricos al comprobar si es un palíndromo.
Para resolver este problema, puedes seguir estos pasos:
- Utiliza
str.lower()para convertir la cadena a minúsculas. - Utiliza
re.sub()para eliminar todos los caracteres no alfanuméricos de la cadena. - Compara la cadena resultante con su inversa utilizando notación de rebanadas.
from re import sub
def palindrome(s):
s = sub('[\W_]', '', s.lower())
return s == s[::-1]
palindrome('taco cat') ## True
Resumen
En este desafío, aprendiste cómo comprobar si una cadena dada es un palíndromo. Utilizaste str.lower() y re.sub() para convertir la cadena a minúsculas y eliminar los caracteres no alfanuméricos, y luego comparaste la cadena resultante con su inversa utilizando notación de rebanadas.