Me pueden explicar la logica de Python, ya que al asignar a la variable “Palabra_invertida” el valor de "palabra(::-1) " (los p...

Pregunta de la clase:
Proyecto: palíndromo
Gustavo Enrique Palomino Bocanegra

Gustavo Enrique Palomino Bocanegra

Pregunta
studenthace 5 años

Me 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.

6 respuestas
para escribir tu comentario
    Jeyson David Vargas Crespo

    Jeyson David Vargas Crespo

    studenthace 5 años

    @alejandroug19 que excelente explicación...

    Alejandro Urrea Giraldo

    Alejandro Urrea Giraldo

    studenthace 5 años

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

    Gustavo Enrique Palomino Bocanegra

    Gustavo Enrique Palomino Bocanegra

    studenthace 5 años

    Muchas gracias me quedo claro, saludos

    Alejandro Urrea Giraldo

    Alejandro Urrea Giraldo

    studenthace 5 años

    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

    no_palindromo.png

    Caso 2. La palabra a evaluar es palíndromo

    palindromo.png

    Espero lo entienda mejor.

    Gustavo Enrique Palomino Bocanegra

    Gustavo Enrique Palomino Bocanegra

    studenthace 5 años

    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

    Alejandro Urrea Giraldo

    studenthace 5 años

    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.

Curso Básico de Python [Empieza Gratis]

Curso Básico de Python [Empieza Gratis]

Aprende a programar desde cero con el lenguaje de mayor crecimiento en el planeta: Python. Descubre qué es un algoritmo y cómo se construye uno. Domina las variables, funciones, estructuras de datos, los condicionales y ciclos.

Curso Básico de Python [Empieza Gratis]
Curso Básico de Python [Empieza Gratis]

Curso Básico de Python [Empieza Gratis]

Aprende a programar desde cero con el lenguaje de mayor crecimiento en el planeta: Python. Descubre qué es un algoritmo y cómo se construye uno. Domina las variables, funciones, estructuras de datos, los condicionales y ciclos.