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):

Código:
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!
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
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

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
        
    def Pal(self):
        cad1 = 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")
                return str(cad1 + " Es Palindromo")
            else:
                #print (cad1, " No es Palindromo")
                return str(cad1 + " No es Palindromo")

cad1 = input('Dame una palabra: ')
op1=Cadenas(cad1)

#op1.Pal()#Impresion de la funcion
print(op1.Pal())
Responder
#4
Perfecto! Gracias por el aporte.

Saludos.
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)