Програма «Паліндром» в Python

Що таке Palindrome Program in 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. Перевірте паліндром 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 для перевірки паліндрому

Цикл 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, попередньо визначені функції, рекурсії тощо.

Щоденний інформаційний бюлетень Guru99

Розпочніть свій день з останніх та найважливіших новин про штучний інтелект, які ви можете знайти просто зараз.