En esta oportunidad no vengo a dejar un graaaaaaaaaan material , pero siempre me gusta intentar hacer una misma cosa de varias maneras. Es por eso que decidí ver de cuantas formas podríamos hacer para verificar si una palabra es palíndromo. Bien, veamos el primero:
Código
Como podemos apreciar el código es bastante sencillo , pedimos entrada por teclado. Verificamos si es la variables un dígito o no(if n.isdigit()). Luego la típica salida invirtiendo la cadena con variable[::-1].
n = raw_input(">") if n.isdigit(): d = [h for h in n] if d == d[::-1]: print "El numero es capicua: %s"%(n) else: print "El numero no es capicua : %s"%(n) else: d = [h for h in n] if d == d[::-1]: print "El texto es palindromo: %s"%(n) else: print "El texto no es palindromo : %s"%(n)
Veamos otro código más sencillo aún:
Código
Apenas dos líneas , un ejemplo de salida sería:
variable = raw_input("Texto ::> ") print "Resultado:",[h for h in variable[::-1]] == [s for s in variable]
Código:
jaavier@Debian:~/codigos$ python palindromo.py
Texto ::> reconocer
Resultado: True
jaavier@Debian:~/codigos$
Código
Con la misma salida que el anterior:
var = raw_input("Texto ::> ") print "Respuesta:",var == var[::-1]
Código:
jaavier@Debian:~/codigos$ python palindromo.py
Texto ::> reconocer
Resultado: True
jaavier@Debian:~/codigos$
Código
También tenemos la famosa función lambda():
var = raw_input("Texto ::> ") if var==var[::-1]: print "Es Palindromo" else: print "No es palindromo"
Código
Nos devolverá True o False.
palindromo = lambda parametro: parametro==parametro[::-1] print palindromo(raw_input("Texto ::> "))
Y Pues si son unos amantes de la reducción de código como yo, pueden aplicar:
Código
Y a ti , que forma se te ocurre ?
print (lambda d: d==d[::-1])(raw_input("Texto ::> "))
Fuente: http://rootcodes.com/pythonformas-de-saber-si-una-palabra-es-palindromo/
Saludos, Javier.