Inteiro reverso em Python
- Use a abordagem matemática para verificar se um número é um palíndromo em Python
- Use a abordagem de reversão de string para verificar se um número é palíndromo em Python
- Use a abordagem de reversão de lista para descobrir se um número é um palíndromo 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.