Python - Palindromo

 
Vista:
sin imagen de perfil

Palindromo

Publicado por Danna (7 intervenciones) el 02/10/2022 00:51:37
Necesito ayuda con este codigo, no se cual es mi error


def palindromo(palin):

if (palin) == 0:
return palin
else:
return palindromo(palin[1:]) + palin[0]

palindromo = input("Palindromo: ")


print ("el palindromo es : ", palindromo)
print (palindromo(palin))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Palindromo

Publicado por tincopasan (1082 intervenciones) el 02/10/2022 07:51:22
hay varias cosas mal para mi gusto, que supongo es usar recursión en una cadena para revertirla:
1)estás asignando a una variable el mismo nombre de la función.
2)para salir de la recursión comparás con 0 ¿de dónde se supone que llegará a valer un entero de ese valor si estás usando cadenas?
3)el slicing que estás usando tampoco es el correcto para lo que buscas
4)esto ya no es tu culpa porque supongo es una tarea, pero ¿por qué usar recursión para algo que es tan simple e innecesario?

bueno:
1
2
3
4
5
6
7
8
9
#-*- coding:utf-8 -*-
def palindromo(palabra):
    if palabra == "":
        return  palabra
    else:
        return palabra[-1] + palindromo(palabra[:-1])
 
palabra = input("Palíndromo: ")
print(f"El palíndromo de lo ingresado es: {palindromo(palabra)} ")

ahí hay una posible solución con recursión, prestá atención en el nombre de las variables y diferencia con la función, también con el slicing.

por último por las dudas:
1
2
palabra = input("Palíndromo: ")
print(f"El palíndromo de lo ingresado es: {palabra[::-1] }")
El mismo resultado y de forma simple, algunos profesores no tienen idea como enseñar el lenguaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Palindromo

Publicado por Danna (7 intervenciones) el 04/10/2022 03:17:28
gracias, me sirvio de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar