Verificar si un número es palíndromo en Python

"En los números también existe la simetría, y los palíndromos nos muestran que la lógica puede ser tan elegante como un reflejo perfecto."

Un número palíndromo es aquel que se lee igual de izquierda a derecha y de derecha a izquierda.
Ejemplos de números palíndromos:

  • 121
  • 12321
  • 4004

En este tutorial aprenderás a comprobar si un número es palíndromo en Python usando varios enfoques.

Método 1: Convertir el número a cadena

La forma más sencilla es convertir el número a cadena y compararlo con su versión invertida.

def es_palindromo_numero(n: int) -> bool:
    return str(n) == str(n)[::-1]

print(es_palindromo_numero(121))    # True
print(es_palindromo_numero(12345))  # False
print(es_palindromo_numero(4004))   # True

Ventajas:

  • Fácil de entender.
  • Muy usado en entrevistas de programación.

Método 2: Usando operaciones matemáticas

Si no quieres convertir a cadena, puedes invertir el número con divisiones y módulos.

def es_palindromo_numero_matematico(n: int) -> bool:
    original = n
    invertido = 0
    while n > 0:
        invertido = invertido * 10 + n % 10
        n //= 10
    return original == invertido

print(es_palindromo_numero_matematico(12321))  # True
print(es_palindromo_numero_matematico(12345))  # False

Ventajas:

  • Evita conversiones a cadena.
  • Útil cuando se busca eficiencia en algoritmos.

Método 3: Usando slicing en combinación con strings

Una versión reducida del primer método, ideal para casos simples.

print(str(12321) == str(12321)[::-1])  # True

Consideraciones

  • Los números negativos normalmente no se consideran palíndromos, ya que el signo - rompe la simetría.
  • En problemas de entrevistas (ej. LeetCode), los ceros iniciales también suelen invalidar el palíndromo (ejemplo: 010 no es válido).
  • Conviene elegir el método según si se busca simplicidad (strings) o optimización (matemáticas).

Verificar si un número es palíndromo en Python es un ejercicio muy común en la práctica de algoritmos y entrevistas técnicas.

  • Método rápido: conversión a string.
  • Método matemático: invertir el número sin cadenas.
  • Uso práctico: reforzar conceptos de manipulación de datos y estructuras de control.

Con estos ejemplos ya puedes detectar palíndromos en números de manera sencilla y eficiente.

También te puede interesar: