Палиндромна програма в Python

В какво е програмата Palindrome Python?

Палиндром може да се дефинира като низ или число, което показва същата стойност, когато позицията му е обърната. В по-прост смисъл, той остава непроменен, когато се обърне.

Example: deed, 101

Когато обратната дума и действителната дума (число или низ) се сравняват, те дават същия резултат.

Палиндром в Python

Видове палиндром

In Python език, Палиндромът е от три вида, както са изброени по-долу:

  • Палиндром от няколко думи: Това е комбинация от множество думи, където стойността на оригиналната и обърнатата дума е една и съща.
  • Палиндром от една дума: Това е една дума, чиято стойност на оригиналната и обратната дума е една и съща.
  • Числов палиндром: Това е число, при което стойностите на оригиналното и обратното число са еднакви. Даденият вход остава същият както от предната, така и от обратната страна.

Алгоритъм за палиндромно число в Python

Следният алгоритъм може да се приложи за проверка на номера на палиндрома:

Стъпка 1) Изпълнете декларация на променлива като 'I' и прочетете променливата.

Стъпка 2) присвояванеI' към временна променлива j. i=j

Стъпка 3) Изпълнете цикъла с инструкциите, както е показано по-долу: –

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

Стъпка 4) Сравнете временната променлива с l. L==J.

Стъпка 5) Отпечатайте числото като палиндром, ако условието е изпълнено.

Стъпка 6) Ако условието не отговаря, отпечатайте числото като не палиндром.

Стъпка 7) Край

Горният алгоритъм се прилага за палиндромни числа в Python.

Метод 1: Палиндромно число в Python използвайки Backward Slicing

Нарязване назад Python обикновено включва използване на изрази за подмножество от оригиналната програма. Изявленията за подмножество могат да използват и цикли. PythonПалиндромната програма на може да бъде нарязана назад.

Следната програма на Python използва обратен цикъл, за да определи дали даден низ е палиндром.

Програма за палиндромни низове в Python код:

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")

Изход:

deed is: Palindrome

Обяснение на кода:

  • - Python кодът се опитва да добави празния низ b в обратен ред, като използва дължината на основния низ и Python функция за обхват.
  • След това низът b се свързва с празния низ rev с помощта на разделителя на низове ".

Метод 2: Палиндромна програма в Python използване на флаг

Флаг променливите могат да бъдат дефинирани в Python за идентифициране на палиндроми. Флагът се инициализира на 0. Следната програма илюстрира използването на параметъра на флага:

Python Код за програмата Palindrome:

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)

Изход:

deed is: Palindrome

0

Обяснение на кода:

  • Овъгляването в Python започва с индекс 0.
  • Тъй като m се инициализира като -1, низът се чете от обратната страна като отрицателен индекс.
  • Цикълът for с оператора if проверява дали всеки символ, започващ с индекс 0, присъстващ в низа, съвпада с обратния индекс на низа.
  • Ако обаче не съвпада, тогава програмата инициализира флага като 1; в противен случай ще го инициализира като 0.

Метод 3: Проверете Palindrome Python чрез обръщане на характера

Методът char се използва за обръщане на низ в тази програма за палиндром Python. Оригиналният низ се проверява с обратния низ, за ​​да се определи дали низът е палиндром или не.

Python Програмен код на Palindrome:

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

Изход:

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

Обяснение на кода:

  • PythonФункцията str помага за преобразуването на формата на числената стойност в низов формат. Програмата първо проверява дали стойност 123 е палиндром или не.
  • След това проверява за стойността 101 и стойността на низа на акта.
  • Кодът проверява дали стойността е палиндром както за числови, така и за низови формати.

Метод 4: Как да проверите Palindrome Python с помощта на съвпадение на знаци

При този палиндромен метод програмата проверява дали всеки знак в низа съвпада с обратния низ, като използва цикъла for, функцията за диапазон и функцията Len.

Python код:

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")

Изход:

Not Palindrome

Обяснение на кода:

  • Дефинирана от потребителя функция, обозначена като Palindrome Comparator, проверява дали стойността е низ или не.
  • Програмата сравнява оригиналния низ и обратната страна на оригиналния низ, като използва критерии оригинал[i]!= оригинал[len(оригинал) – i – 1].
  • Горната програма използва техниката на дължината, за да определи дължината на низа.

Метод 5: Палиндром в Python използване на рекурсия

In Python, рекурсия означава, че функцията се извиква многократно и според определен набор от критерии. По този начин проблемът може да бъде разделен на по-малки, като се използва същата функционална структура. Чрез използване на рекурсивна програмна логика, палиндромните низове също могат да бъдат проверени

Python код:

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")

Изход:

12321 is: Palindrome

Обяснение на кода:

  • Програмата използва дефинирана от потребителя функция, която се извиква рекурсивно.
  • Първоначалното число се разбива и неговата остатъчна стойност се добавя към противоположната стойност.
  • Противоположната стойност първо се умножава по 10, преди да се добави с остатъчната стойност.

Метод 6: Как да използвате While Loop за проверка на палиндрома

Цикълът while изпълнява изпълнението на кода на итеративна основа, докато приложеното условие стане вярно.

  • Итеративният метод може да се използва за проверка дали целочислената стойност е палиндром.
  • - Python Програмата използва временни номера и модулни оператори.

Python код:

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")

Изход:

Palindrome

Обяснение на кода:

  • Програмата използва цикъл while, който проверява дали временното число е по-малко от нула.
  • Операторът modulo изчислява остатъка от оригиналното число.
  • Първоначалното число се дели на 10.
  • Обратният параметър се изчислява чрез умножаване по 10.
  • Полученото число се добавя към остатъка.
  • Горната програма проверява оригиналния номер и обратния номер, за да го класифицира като палиндром или не.

Заключение

  • Палиндромът е стойност, когато се сравнява от посока назад, а посоката напред е същата. Използва се в различни математически пъзели.
  • Могат да бъдат приети няколко начина Python за да сравните дали дадена стойност е палиндром или не. Използваните техники са: – Нарязване назад, съпоставяне на символи, рекурсия, използване на цикли, rev, Len и str функции, предварително дефинирани функции, рекурсии и др.