Es un ejercicio para poder prácticar lo aprendido en el curso de Fundamentos de Python.
Quiero mostrarte el proceso de cómo puedes identificar una palabra o frase considerada como Palíndromo.
** ¿Qué son los palíndromos?**
Es una palabra o frase que se lee igual de izquierda a derecha que de derecha a izquierda.
Entonces comenzamos ire con el paso a paso para que no te pierdas en el camino:
Paso #1: Recibiro capturar lo que el usuario ingrese como input para el proceso. Debe ser necesario pasarlo a minúsculas.
phrase = input('Ingresa una palabra o frase: ').lower()
Paso #2: Crear una tupla con los valores que crees que pueden afectar en el proceso de comparación. (Lo entenderás más adelante).
replacements = (
("á", "a"),
("é", "e"),
("í", "i"),
("ó", "o"),
("ú", "u"),
(' ', ''),
(',','')
)`
Paso #3: Reemplazar todas las vocales con tildes por vocales simples y quitar los espacios o comas que puedan afectar en la comparación de la frase o palabra al revés.
forkey, vocal in replacements:
phrase = phrase.replace(key, vocal)
Paso #4: En este paso creamos otra variable para asignarle el valor ingresado por el usuario y ya transformado para poder hacer la comparación. Para luego convertirlos en listas y poder aplicar la función reverse() a una de ellas.
reverse_phrase = phrase
phrase = list(phrase)
reverse_phrase = list(reverse_phrase)
reverse_phrase.reverse()
Por alguna razón si pones en la misma línea la conversión a la lista no almacena de manera correcta el valor.
Paso #5: En está parte de código tenemos que realizar la validación si ambas variables son iguales. Lo que por definición de palíndromos sería verdadero si cumple que indistintamente por donde lo leas debería leerse de la misma manera.
if reverse_phrase == phrase:
print('Es una palabra o frase palíndromo')
else:
print('No es palíndromo')
Con eso podemos realizar las pruebas en la que ya puedes clasificar las frases o palabras como palíndromos.
Te dejo unos ejemplos de frases y palabras:
Palabras
Frases