Programa de Python para verificar si el número es palíndromo (una sola línea)

A veces, tenemos una aplicación para verificar que un número sea palíndromo o no y es bastante común durante la programación diaria o la programación competitiva, es fácil invertir un número y verificarlo, pero a veces para facilitar la lectura y reducir las líneas de código, necesitamos realizar esto en lógica de una sola línea. Analicemos ciertas formas en que esto se puede lograr.

Entrada: test_number = 12321
Salida: Verdadero

Entrada: test_number = 1234
Salida: Falso

Método #1: Usar math.log()+ recursividad + comprensión de listas
La combinación de las tres funciones anteriores puede realizar esta tarea en particular fácilmente, la función de registros extrae el número de dígitos que se potencia con 10 para obtener el número de esa iteración para comparar. El proceso se repite para probar el palíndromo.

# Python3 code to demonstrate
# checking a number is palindrome
# using math.log() + recursion + list comprehension
import math
   
# the recursive function to reverse
def rev(num):
    return int(num != 0) and ((num % 10) * \
             (10**int(math.log(num, 10))) + \
                          rev(num // 10))
  
# initializing number 
test_number = 9669669
  
# printing the original number 
print ("The original number is : " + str(test_number))
  
# using math.log() + recursion + list comprehension
# for checking a number is palindrome
res = test_number == rev(test_number)
  
# printing result
print ("Is the number palindrome ? : " + str(res))
Producción:

The original number is : 9669669
Is the number palindrome ? : True

 
Método n.º 2: usar str()el corte de strings +
Esto también se puede hacer convirtiendo el número en una string y luego invirtiéndolo usando el método de corte de strings y comparándolo, cuya verdad devuelve la respuesta.

# Python3 code to demonstrate
# checking a number is palindrome
# using str() + string slicing
  
# initializing number 
test_number = 9669669
  
# printing the original number 
print ("The original number is : " + str(test_number))
  
# using str() + string slicing
# for checking a number is palindrome
res = str(test_number) == str(test_number)[::-1]
  
# printing result
print ("Is the number palindrome ? : " + str(res))
Producción:

The original number is : 9669669
Is the number palindrome ? : True

También podemos leer la entrada como una string y luego simplemente verificar el palíndromo.

num = input("Enter a number")
if num == num[::-1]:
    print("Yes its a palindrome")
else:
    print("No, its not a palindrome")

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *