Python - Ingrese una palabra, luego indique Si es un Palíndromo

 
Vista:
sin imagen de perfil
Val: 105
Ha aumentado su posición en 28 puestos en Python (en relación al último mes)
Gráfica de Python

Ingrese una palabra, luego indique Si es un Palíndromo

Publicado por Ani (21 intervenciones) el 24/06/2021 00:15:47
Ingrese una palabra, luego indique:
- Si es un Palíndromo (es una palabra o frase que se lee igual en un sentido que en otro)
- Cantidad de letras que contiene.
yo ya hice el código para ver si una palabra es palíndromo solo me queda indicar la cantidad de las palabras que contiene y quería ver si me podían ayudar a como hacer para indicar la cantidad de las palabras que contiene, seria de mucha ayuda y muchas gracias.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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())
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
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Ingrese una palabra, luego indique Si es un Palíndromo

Publicado por Francisco Javier (311 intervenciones) el 24/06/2021 01:08:08
Buenas , no se si es esto realmente lo que necesitas he sacado el valor de la palabra con el método len() y luego si es palíndromo te indica el número de letras si quisieras que te lo indicara asistir no será palíndromo haces lo mismo en el else.
Un saludo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 y contiene {} letras".format(numero_letras))
            else:
                #print (cad1, " No es Palindromo")
                return str(cad1 + " No es Palindromo")
 
cad1 = input('Dame una palabra: ')
op1=Cadenas(cad1)
numero_letras=len(cad1)
#op1.Pal()#Impresion de la funcion
print(op1.Pal())
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
Val: 105
Ha aumentado su posición en 28 puestos en Python (en relación al último mes)
Gráfica de Python

Ingrese una palabra, luego indique Si es un Palíndromo

Publicado por Ani (21 intervenciones) el 24/06/2021 01:21:47
lo probé y me función, de nuevo muchísimas gracias :)
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
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ingrese una palabra, luego indique Si es un Palíndromo

Publicado por tincopasan (1082 intervenciones) el 24/06/2021 05:14:02
esa clase solo funciona con una palabra, entonces el planteo inicial está mal, ya que no quiere contar palabras solo quiere contar las letras de una palabra, igual hay frases completas que son palíndromos, por ejemplo: "Yo dono rosas oro no doy", que con esta clase no funcionará, así que la modifico para que funcione con una palabra o una frase:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#-*- coding: utf  -8 -*-
import re
class Cadenas:
    def __init__ (self, cad1):
        self.cad1=cad1
        self.cantidad=len(cad1.split())
        self.posible =""
        self.Pal()
 
    def Pal(self):
        cad1 = re.sub(r'\s','',self.cad1.lower())
        if cad1 ==  cad1[::-1]:
            self.posible = f'{self.cad1} \nEs palíndromo, contiene {self.cantidad}  palabra/s y  tiene en total {len(cad1)}  letras'
        else: self.posible = f'{cad1}\nNo es palíndromo'
 
cad = input('Dame una palabra: ')
op1=Cadenas(cad)
print(op1.posible)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar