Inteiro reverso em Python

Arjun Adhikari 30 janeiro 2023
  1. Use a abordagem matemática para verificar se um número é um palíndromo em Python
  2. Use a abordagem de reversão de string para verificar se um número é palíndromo em Python
  3. Use a abordagem de reversão de lista para descobrir se um número é um palíndromo em Python
Inteiro reverso em Python

Uma palavra ou um número, quando seus caracteres ou dígitos são invertidos, e se permanece o mesmo, é chamado de palíndromo. Este artigo apresentará alguns métodos para verificar se um número é um palíndromo, invertendo o número fornecido.

Use a abordagem matemática para verificar se um número é um palíndromo em Python

Podemos verificar se um número é um palíndromo usando a abordagem matemática. Em primeiro lugar, este método inverte o número e, em seguida, verifica o número invertido com o número original. Se os dois valores forem iguais, o número é um palíndromo. Podemos aplicar operações matemáticas como módulo, adição, multiplicação e divisão para reverter um número.

Por exemplo, peça a entrada do usuário usando a função input() e armazene-a na variável original_number. Crie uma variável número_cópia e armazene a cópia do número original nela. Crie outra variável, reversed_number e inicialize-a como 0. Use o loop while para verificar se o original_number é maior que 0. Dentro do loop, armazene o resto do orignal_number dividido por 10 em uma variável remainder. Use o módulo % para encontrar o resto. Então, multiplique o reversed_number por 10 e adicione remainder a ele. Armazene o valor na variável reversed_number. Em seguida, divida o original_number por 10 e armazene o valor na mesma variável orginal_number. Verifique se o valor de copy_number e reversed_number é o mesmo, fora do loop. Se os valores forem iguais, imprima a mensagem dizendo que é um palíndromo e vice-versa.

No exemplo abaixo, o estado do original_number muda a cada iteração, então armazenamos uma cópia dele na variável copy_number. O número fornecido pelo usuário é 12321, que é o mesmo quando é invertido, e o programa mostra que é um palíndromo. Assim, podemos usar a abordagem matemática para verificar se um número é um palíndromo.

Código de exemplo:

# python 3.x
original_number = int(input("Enter an integer: "))
copy_number = original_number
reversed_number = 0
while original_number > 0:
    remainder = original_number % 10
    reversed_number = reversed_number * 10 + remainder
    original_number = original_number // 10
if copy_number == reversed_number:
    print(copy_number, "is a palindrome number")
else:
    print(copy_number, "is not a palindrome number")

Produção:

Enter an integer: 12321
12321 is a palindrome number

Use a abordagem de reversão de string para verificar se um número é palíndromo em Python

Podemos usar a abordagem de reversão de string em Python para verificar se um número é um palíndromo. Podemos usar a operação de atalho [::-1] para a verificação do palíndromo. É uma linha única para reverter um iterável, ou seja, listas, strings, tuplas, etc. Como o operador trabalha com a string, podemos converter o valor inteiro em uma string, reverter a string e então convertê-lo em um inteiro.

Por exemplo, pegue uma entrada inteira do usuário e armazene-a na variável number. Converta o number na string com a função str() e use a operação [::-1] com ela. Envolva toda a expressão com a função int() para converter o valor invertido em um inteiro. Finalmente, use a condição if para comparar a variável number com a string invertida e exibir a mensagem de acordo.

No exemplo abaixo, pegamos um número inteiro como entrada, convertemos em uma string e o revertemos. Em seguida, o número invertido é comparado ao inteiro e à variável number. Quando invertemos o número 454, torna-se o mesmo, mas quando invertemos o número 456, torna-se 654. Assim, descobrimos se a variável number é um palíndromo.

Código de exemplo:

# python 3.x
number = int(input("Enter a number : "))
if number == int(str(number)[::-1]):
    print(number, "is palindrome.")
else:
    print(number, "is not palindrome.")

Produção:

Enter a number : 454
454 is palindrome.

Enter a number : 456
456 is not palindrome.

Use a abordagem de reversão de lista para descobrir se um número é um palíndromo em Python

Usando o método de reversão de Lista, podemos reverter o número e verificar se é um palíndromo. Podemos pedir uma entrada inteira e convertê-la em uma string usando a função str(). A função list() pode ser usada para converter a string em uma lista. Podemos usar a função reverse() para inverter os itens da lista. Podemos converter os itens da lista em uma string usando o separador ' ' com o método join(). Finalmente, podemos retornar a representação inteira da string gerada. Assim, podemos comparar o número invertido com o número original para verificar se é um palíndromo.

Por exemplo, crie uma variável original_number e armazene a entrada solicitada do usuário. Converta o número em uma string aplicando a função str() e, em seguida, liste aplicando a função list(). Armazene o resultado na variável lst_number. Use a função reverse() no lst_number para inverter os elementos da lista. Use o separador '' para chamar o método join() em lst_number para converter os itens da lista em uma única string. Use a função int() para converter a string em um inteiro e compará-la com o número_original. Assim, podemos descobrir se o número é um palíndromo.

Código de exemplo:

# python 3.x
original_number = int(input("Enter an integer : "))
lst_number = list(str(original_number))
lst_number.reverse()
reversed_number = "".join(lst_number)
if original_number == int(reversed_number):
    print(original_number, "is palindrome.")
else:
    print(original_number, "is not palindrome.")

Produção:

Enter an integer : 99
99 is palindrome.

Artigo relacionado - Python Integer