Detección de palíndromos en Python

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") subgraph Lab Skills python/booleans -.-> lab-13704{{"Detección de palíndromos en Python"}} python/comments -.-> lab-13704{{"Detección de palíndromos en Python"}} python/lists -.-> lab-13704{{"Detección de palíndromos en Python"}} python/tuples -.-> lab-13704{{"Detección de palíndromos en Python"}} python/function_definition -.-> lab-13704{{"Detección de palíndromos en Python"}} python/importing_modules -.-> lab-13704{{"Detección de palíndromos en Python"}} python/using_packages -.-> lab-13704{{"Detección de palíndromos en Python"}} python/standard_libraries -.-> lab-13704{{"Detección de palíndromos en Python"}} end

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.