Detección de palíndromos en Python

Beginner

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

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:

  1. Utiliza str.lower() para convertir la cadena a minúsculas.
  2. Utiliza re.sub() para eliminar todos los caracteres no alfanuméricos de la cadena.
  3. 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.