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.
#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)
Muchas gracias de antemano
no tengo ganas de ponerme a corregir tu código, así que haré otro que cumpla la misma función, para que veas donde puede estar el error.
class Palindromo:
def __init__(self):
self.__palabra = "Introduce una palabra"
def palabra(self,cadena=""):
if cadena!= "":
resultado= cadena[::-1]
if cadena == resultado:
respuesta="Es un palindromo"
else:
respuesta="No es un palindromo"
return respuesta
else:
return self.__palabra
palindromo=Palindromo()
pregunta=input("Escriba una palabra: ")
final=palindromo.palabra(pregunta)
print(final)
Muchas gracias
Ya lo he corregido, fue un error al no utilizar la variable de self.cad1
lo dejo por aqui...
##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())
que bueno que lo resolviste, pero... ¿tanto código para una palabra? si fuesen frases vaya y pase! se supone que hay que hacer las cosas funcionales y simples en vez de tanto código para lo mismo.