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.
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.