Програма «Паліндром» в Python
Що таке Palindrome Program in Python?
Паліндром можна визначити як рядок або число, яке відображає те саме значення, коли його положення змінено. У простішому сенсі він залишається незмінним, коли його перевернути.
Example: deed, 101
Коли зворотне слово та справжнє слово (число або рядок) порівнюються, вони дають однаковий результат.
Види паліндрому
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, попередньо визначені функції, рекурсії тощо.