Programa Palíndromo em Python

O que é o Programa Palíndromo em Python?

Um Palíndromo pode ser definido como uma string ou um número que exibe o mesmo valor quando sua posição é invertida. Num sentido mais simples, permanece inalterado quando invertido.

Example: deed, 101

Quando a palavra reversa e a palavra real (um número ou uma string) são comparadas, elas produzem o mesmo resultado.

Palíndromo em Python

Tipos de Palíndromo

In Python língua, O palíndromo é de três tipos, conforme listado abaixo:

  • Palíndromo de múltiplas palavras: Esta é uma combinação de várias palavras em que o valor das palavras originais e invertidas são iguais.
  • Palíndromo de uma palavra: Esta é uma palavra única onde o valor das palavras original e invertida são iguais.
  • Palíndromo numérico: Este é um número em que os valores dos números originais e invertidos são iguais. A entrada fornecida permanece a mesma tanto no lado direto quanto no reverso.

Algoritmo para um número Palíndromo em Python

O seguinte algoritmo pode ser aplicado para verificar o número do palíndromo:

Passo 1) Execute a declaração de variável como 'I' e leia a variável.

Passo 2) Atribuir 'I'para a variável temporária j. eu=j

Passo 3) Execute o loop com as instruções mostradas abaixo: –

  • M=I% 10
  • L = L x 10 + M
  • Eu = eu / 10

Passo 4) Compare a variável temporária com l. L==J.

Passo 5) Imprima o número que será um palíndromo se a condição for satisfeita.

Passo 6) Se a condição não for satisfeita, imprima o número como não palíndromo.

Passo 7) Terminar

O algoritmo acima se aplica a números palíndromos em Python.

Método 1: número do palíndromo em Python usando fatiamento reverso

Fatiando para trás Python geralmente envolve o uso de instruções de subconjunto do programa original. As instruções de subconjunto também podem usar loops. PythonO programa palíndromo de pode ser dividido para trás.

O programa Python a seguir usa um loop reverso para determinar se uma string é um palíndromo.

Programa de strings palíndromo em Python código:

a='deed'
lena=len(a)
b=[]
for i in range(lena - 1, -1, -1):
    b.append(a[i])
rev = "".join(b)
print(a + " is: ", end="")
if a == rev:
    print("Palindrome")
else:
    print("Not Palindrome")

Saída:

deed is: Palindrome

Explicação do código:

  • A Python o código tenta anexar a string vazia b na ordem inversa usando o comprimento da string principal e o Python função de alcance.
  • A string b é então unida à string vazia rev usando o separador de string ".

Método 2: Programa Palíndromo em Python usando bandeira

Variáveis ​​de sinalização podem ser definidas em Python para identificar palíndromos. O flag é inicializado como 0. O programa a seguir ilustra o uso do parâmetro flag:

Python Código para o programa Palíndromo:

Pld = "deed"
m = -1
flag = 0
for char in Pld:
    if char != Pld[m]:
        flag = 1
        break
    m = m - 1
print(Pld + " is: ", end="")
if flag:
    print("Not Palindrome")
else:
    print("Palindrome")
print(flag)

Saída:

deed is: Palindrome

0

Explicação do código:

  • O caractere em Python começa com um índice 0.
  • Como m é inicializado como -1, a string é lida no verso como um índice negativo.
  • O loop for com a instrução if verifica se cada caractere começando com o índice 0 presente na string corresponde ao índice reverso da string.
  • Porém, se não corresponder, o programa inicializa o sinalizador como 1; caso contrário, ele seria inicializado como 0.

Método 3: verificar o palíndromo em Python invertendo o caráter

O método char é usado para reverter uma string neste programa palíndromo em Python. A string original é verificada com a string reversa para determinar se a string é palíndromo ou não.

Python Código do programa Palíndromo:

Base = "123"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "101"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "deed"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))

Saída:

Not Palindrome
The original string is: 123
The reverse string is: 321
Palindrome
The original string is: 101
The reverse string is: 101
Palindrome
The original string is: the deed
The reverse string is: the deed

Explicação do código:

  • PythonA função str de ajuda a converter o formato do valor numérico em formato de string. O programa primeiro verifica se o valor 123 é um palíndromo ou não.
  • Em seguida, ele verifica o valor 101 e o valor da string da escritura.
  • O código verifica se o valor é um palíndromo para formatos numéricos e de string.

Método 4: como verificar o Palíndromo em Python usando correspondência de caracteres

Neste método palíndromo, o programa verifica se cada caractere da string corresponde à string reversa usando o loop for, a função range e a função Len.

Python código:

def PalindromeComparator(original):
    for i in range(0, len(original)):
        if original[i] != original[len(original) - i - 1]:
            return False
            return True
Base = "deed"
print("Palindrome") if PalindromeComparator(Base) else print("Not Palindrome")

Saída:

Not Palindrome

Explicação do código:

  • Uma função definida pelo usuário rotulada como Palindrome Comparator verifica se o valor é uma string ou não.
  • O programa compara a string original e o inverso da string original usando o método critérios original[i]!= original[len(original) – i – 1].
  • O programa acima utiliza a técnica de comprimento para determinar o comprimento da string.

Método 5: Palíndromo em Python usando recursão

In Python, recursão significa que a função chama a si mesma repetidamente e de acordo com um conjunto específico de critérios. Desta forma, o problema pode ser dividido em problemas menores usando a mesma estrutura de funções. Usando a lógica de programação de recursão, as strings do palíndromo também podem ser verificadas

Python código:

def palcomprec(number, oppo):
    if number == 0:
        return oppo
    remainder = int(number % 10)
    oppo = (oppo * 10) + remainder
    return palcomprec(int(number / 10), oppo)
Base = 12321
reverse = 0
reverse = palcomprec(Base, reverse)
print(str(Base) + " is: ", end="")
print("Palindrome") if reverse == Base else print("Not Palindrome")

Saída:

12321 is: Palindrome

Explicação do código:

  • O programa faz uso de uma função definida pelo usuário que chama a si mesmo recursivamente.
  • O número original é decomposto e seu valor residual é adicionado ao valor oposto.
  • O valor oposto é multiplicado por 10 primeiro, antes de ser adicionado ao valor restante.

Método 6: Como usar o While Loop para verificar o Palíndromo

Um loop while executa a execução do código de forma iterativa até que a condição aplicada seja verdadeira.

  • O método iterativo pode ser usado para verificar se o valor inteiro é palíndromo.
  • A Python O programa faz uso de números temporários e operadores de módulo.

Python código:

original = 101
temporary = original
reverse = 0
while temporary > 0:
    remainder = temporary % 10
    reverse = (reverse * 10) + remainder
    temporary = temporary // 10
if original == reverse:
  print('Palindrome')
else:
  print("Not Palindrome")

Saída:

Palindrome

Explicação do código:

  • O programa utiliza um loop while que verifica se o número temporário é menor que zero.
  • O operador módulo calcula o restante do número original.
  • O número original é dividido por 10.
  • O parâmetro reverso é calculado multiplicando por 10.
  • O número resultante é adicionado ao resíduo.
  • O programa acima verifica o número original e o número reverso para classificá-lo como palíndromo ou não.

Conclusão

  • Palíndromo é um valor quando comparado na direção para trás, e a direção para frente passa a ser a mesma. É usado em vários quebra-cabeças matemáticos.
  • Diversas maneiras podem ser adotadas em Python para comparar se um valor é um palíndromo ou não. As técnicas usadas são: – Backward slicing, Character matching, Recursion, Uso de loops, rev, Len e funções str, funções predefinidas, recursões etc.