Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ejercicio Palindromo en Python
#1
Buen dia


Me podrían ayudar con un ejercicio que estoy haciendo..

Se trata de generar un objeto en Python que me diga si es palidromo o no la palabra que ingrese

hice este código pero no logro que me regrese la respuesta
no se que me hace falta. (ya que el programa no me marca el error o mas bien no lo comprendo)

Código:
#Hacer una Clase que tenga un metodo para que evalue si es
#o no palindromo..

class Cadenas:
   def __init__ (self, cad1):
       self.cad1=cad1
       #self.cad2=cad2
   def pal(self):
       cad1,c,i,nom,cad,x = '',0,0,'','',''
       i = len(cad1)
       nom = cad1.lower()
       while i != c:
           for x in nom:
               cad = x + cad
               c=c+1
           if nom==cad:
               print (cad1, " Es Palindromo")
           else:
               print (cad1, " No es Palindromo")
       return cad1

cad1 = str(input('Dame una palabra: '))
op1=Cadenas(cad1)
print(op1.pal)
Responder
#2
Hola. Por suerte la librería estándar de Python es muy amplia. Por ejemplo, puedes usar la función reversed() para obtener una cadena al revés. Entonces, si cad1 es la palabra (considerando que usas Python 3):

  1. cad1 == "".join(reversed(cad1))


Esta expresión será verdadera cuando la palabra sea un palíndromo. Puedes adaptarlo fácilmente a tu código.

De paso te invito a pasar por este tema que explica cómo resaltar código de Python en tus mensajes.

Un saludo!
Responder
#3
Muchas gracias por tu respuesta francisco
De nueva cuenta muy amable

Pero ya lo resolvi, al parecer no use mi variable que declare self.cad1 dentro de mi funcion
igual dejo el codigo por si alguno le interesa

  1. ##Hacer una Clase que tenga un metodo para que evalue si es
  2. ##o no palindromo..
  3.  
  4. class Cadenas:
  5.     def __init__ (self, cad1):
  6.         self.cad1=cad1
  7.         
  8.     def Pal(self):
  9.         cad1 = self.cad1
  10.         c,i,nom,cad,x = 0,0,'','',''
  11.         i = len(cad1)
  12.         nom = cad1.lower()
  13.         while i != c:
  14.             for x in nom:
  15.                 cad = x + cad
  16.                 c=c+1
  17.             if nom==cad:
  18.                 #print (cad1, " Es Palindromo")
  19.                 return str(cad1 + " Es Palindromo")
  20.             else:
  21.                 #print (cad1, " No es Palindromo")
  22.                 return str(cad1 + " No es Palindromo")
  23.  
  24. cad1 = input('Dame una palabra: ')
  25. op1=Cadenas(cad1)
  26.  
  27. #op1.Pal()#Impresion de la funcion
  28. print(op1.Pal())
Responder
#4
Perfecto! Gracias por el aporte.

Saludos.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)