def formatearCadena(cadena):
    cadena = cadena.lower()
    cadena = cadena.replace("á", "a")
    cadena = cadena.replace("é", "e")
    cadena = cadena.replace("í", "i")
    cadena = cadena.replace("ó", "o")
    cadena = cadena.replace("ú", "u")
    cadena = cadena.replace(" ", "")
    return cadena

def esPalindromo(palabra):
    inicio = 0
    final = len(palabra) - 1
    while palabra[inicio] == palabra[final]:
        if inicio >= final:
            return True
        inicio = inicio + 1
        final = final - 1
    return False

print("PROGRAMA PARA DETECTAR PALÍNDROMOS:")
while True:
    try:
        cadenaOriginal = input("Introduce una palabra o un texto a comprobar: ")

        cadena = formatearCadena( cadenaOriginal )
        if cadena.isalpha() == False:
            raise ValueError
        break
    except ValueError:
        print("\tNo son válidos los números ni los caracteres especiales.")

print(f"\nCadena original: '{cadenaOriginal}'.")
print(f"Cadena formateada: '{cadena}'.")
if esPalindromo( cadena ):
    print(f"'{cadena}' es un palíndromo.")
else:
    print(f"'{cadena}' no es un palíndromo.")

print("\nGracias por probar nuestro programa.")
        
