in

Programa de Python para verificar si una cadena es palíndromo o no

gfg 200x200 min

Dada una cadena, escriba una función de Python para verificar si es palíndromo o no. Se dice que una cuerda es palíndromo si el reverso de la cuerda es lo mismo que una cuerda. Por ejemplo, «radar» es un palíndromo, pero «radix» no es un palíndromo.

Ejemplos:

Input : malayalam
Output : Yes

Input : geeks
Output : No

Método 1

  1. Encuentra el reverso de la cuerda
  2. Compruebe si el reverso y el original son iguales o no.

Pitón

def isPalindrome(s):

    return s == s[::-1]

s = "malayalam"

ans = isPalindrome(s)

if ans:

    print("Yes")

else:

    print("No")

Producción :

Yes

Método iterativo: Este método es aportado por Shariq Raza. Ejecute un bucle desde el principio hasta la longitud / 2 y marque el primer carácter hasta el último carácter de la cadena y el segundo al segundo último y así sucesivamente…. Si algún carácter no coincide, la cadena no sería un palíndromo.

A continuación se muestra la implementación del enfoque anterior:

Pitón

def isPalindrome(str):

    

    for i in range(0, int(len(str)/2)):

        if str[i] != str[len(str)-i-1]:

            return False

    return True

s = "malayalam"

ans = isPalindrome(s)

if (ans):

    print("Yes")

else:

    print("No")

Producción:

Yes

Método usando el función incorporada para invertir una cadena: Este método es aportado por Shariq Raza. En este método, función predefinida » .join (invertido (cadena)) se utiliza para invertir la cuerda.

A continuación se muestra la implementación del enfoque anterior:

Pitón

def isPalindrome(s):

    

    

    

    rev = ''.join(reversed(s))

    

    

    if (s == rev):

        return True

    return False

s = "malayalam"

ans = isPalindrome(s)

if (ans):

    print("Yes")

else:

    print("No")

Producción:

Yes

Método que utiliza una variable adicional: En este método, el usuario toma un carácter de cadena uno por uno y lo almacena en una variable vacía. Después de almacenar todos los caracteres, el usuario comparará la cadena y comprobará si es palíndromo o no.

Pitón

x = "malayalam"

w = ""

for i in x:

    w = i + w

if (x == w):

    print("Yes")

else:

    print("No")

  

Producción:

Yes

Método usando bandera: En este método, el usuario compara cada carácter desde el comienzo y el final en un bucle for y si el carácter no coincide, cambiará el estado de la bandera. Luego verificará el estado de la bandera y, en consecuencia, imprimirá si es un palíndromo o no.

Pitón

st = 'malayalam'

j = -1

flag = 0

for i in st:

    if i != st[j]:

      j = j - 1

      flag = 1

      break

    j = j - 1

if flag == 1:

    print("NO")

else:

    print("Yes")

Producción:

Yes

Método que usa la recursividad:

Este método compara el primer y último elemento de la cadena y da el resto de la subcadena a una llamada recursiva a sí mismo.

Python3

def isPalindrome(s):

      

    

    s = s.lower()

    

    l = len(s)

    

    

    if l < 2:

        return True

    

    elif s[0] == s[l - 1]:

       

        

        return isPalíndromo (s[1: l - 1])

    else:

        return False

s = "MalaYaLam"

ans = isPalindrome(s)

if ans:

    print("Yes")

else:

    print("No")

Este artículo es una contribución de Sahil Rajput. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando contrib.geeksforgeeks.org o envíe su artículo por correo electrónico a [email protected] Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.

¡Atención lector! No dejes de aprender ahora. Disfruta el Curso First-Step-to-DSA para estudiantes de las clases 9 a 12 , diseñado específicamente para presentar estructuras de datos y algoritmos a los estudiantes de la clase 9 a 12

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

apple touch icon@2

seguridad: cuando usa ‘badidea’ o ‘thisisunsafe’ para omitir un certificado de Chrome / error HSTS, ¿solo se aplica al sitio actual?

edit

Merlot vs Shiraz – Diferencia y comparación