
Gustavo Enrique Palomino Bocanegra
PreguntaMe pueden explicar la logica de Python, ya que al asignar a la variable “Palabra_invertida” el valor de "palabra(::-1) " (los parentesis son corchetes), se supone que la variable palabra_invertida tendria como valor una palabra al reves, pero al usar la condicional if se comparan los valores como “palabra == palabra_invertida”, y si esto es correcto es palindromo, por ejemplo,
Se compararia como : hola == aloh como True, no entiendo eso.

Jeyson David Vargas Crespo
@alejandroug19 que excelente explicación...

Alejandro Urrea Giraldo
Me alegra haberle ayudado. Si necesita algo más no dude en preguntar

Gustavo Enrique Palomino Bocanegra
Muchas gracias me quedo claro, saludos

Alejandro Urrea Giraldo
La comparación planteada en clase es la correcta. Voy a explicárselo paso a paso, comentando cada línea de código
Caso 1. La palabra a evaluar NO es palíndromo
Caso 2. La palabra a evaluar es palíndromo
Espero lo entienda mejor.

Gustavo Enrique Palomino Bocanegra
Muchas gracias por responder pero aún me queda la duda, si la condicional dice "if palabra == palabra_invertida" sabiendo que palabra es igual "hola" y palabra_invertida es igual a "aloh", creo que tendria mas sentido si en la condicional ponemos " if palabra(::-1 = palabra_invertida)", gracias de antemano.

Alejandro Urrea Giraldo
Hola gustavoepb078!
La primera parte de su enunciado es exactamente el proceso para determinar si una palabra es un palíndromo o no.
Tal vez lo que le genera confusión es el condicional que compara los valores. Esta comparación tiene dos partes:
Si los valores son iguales, es palíndromo
if palabra == palabra_invertida: return True
Si esta condición se cumple, la función termina y devuelve el valor "True" (verdadero). Sin embargo, en caso de que las palabras no sean iguales, es decir, no se cumple la condición del if, automáticamente el flujo del programa pasa a la instrucción else sin que se ejecute el bloque de código que está dentro del if. En ese caso, las instrucción que se ejecutará será la que se encuentre dentro del bloque else, terminando la función y devolviendo el valor "False" (falso)
Si no son iguales, no es palíndromo
else: return False
Las instrucciones if y else son mutuamente excluyentes, es decir, si se cumple una, no se cumple la otra, y en ese caso, sólo se ejecutará el bloque de código que cumpla la condición.
Espero haberle ayudado. Si aún tiene dudas, haga otro comentario más específico para poder ayudarle.