Палиндромна програма в Python
В какво е програмата Palindrome 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: Проверете 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 функции, предварително дефинирани функции, рекурсии и др.