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

Что такое программа Палиндром? Python?

Палиндром можно определить как строку или число, которое отображает то же значение, когда его положение меняется на противоположное. Проще говоря, он остается неизменным при переворачивании.

Example: deed, 101

Когда обратное слово и фактическое слово (число или строка) сравниваются, они дают один и тот же результат.

Палиндром в Python

Виды палиндрома

In Python язык, Палиндром бывает трех типов, перечисленных ниже:

  • Палиндром из нескольких слов: Это комбинация нескольких слов, в которой значение исходного и перевернутого слов одинаково.
  • Палиндром из одного слова: Это одно слово, в котором значения исходного и перевернутого слов одинаковы.
  • Числовой палиндром: Это число, у которого значения исходного и перевернутого чисел одинаковы. Данный вход остается неизменным как с прямой, так и с обратной стороны.

Алгоритм вычисления числа палиндрома в Python

Для проверки номера палиндрома можно применить следующий алгоритм:

Шаг 1) Выполните объявление переменной как 'I' и прочитать переменную.

Шаг 2) Назначать 'I' во временную переменную j. я = j

Шаг 3) Выполните цикл, следуя инструкциям, как показано ниже: –

  • М=Я % 10
  • Д = Д х 10 + М
  • Я = Я / 10

Шаг 4) Сравните временную переменную с l. Л == Дж.

Шаг 5) Выведите число, которое будет палиндромом, если условие выполнено.

Шаг 6) Если условие не удовлетворяет, выведите число как непалиндром.

Шаг 7) Конец

Вышеуказанный алгоритм применяется к палиндромным числам в Python.

Метод 1: число палиндромов в Python использование обратного среза

Обратная нарезка 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

Пояснение к коду:

  • The Python код пытается добавить пустую строку b в обратном порядке, используя длину основной строки и Python функция диапазона.
  • Затем строка b соединяется с пустой строкой rev с помощью разделителя строк. .

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

Переменные флага могут быть определены в Python для определения палиндромов. Флаг инициализируется значением 0. Следующая программа иллюстрирует использование параметра флага:

Python Код для программы «Палиндром»:

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 Код программы Палиндром:

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: Как проверить палиндром 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, проверяет, является ли значение строкой или нет.
  • Программа сравнивает исходную строку и обратную исходную строку, используя критерии original[i]!= original[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 выполняет выполнение кода итеративно, пока примененное условие не станет истинным.

  • Итерационный метод можно использовать для проверки того, является ли целочисленное значение палиндромом.
  • The 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, который проверяет, меньше ли временное число нуля.
  • Оператор по модулю вычисляет остаток исходного числа.
  • Исходное число делится на 10.
  • Обратный параметр рассчитывается путем умножения на 10.
  • Полученное число прибавляется к остатку.
  • Приведенная выше программа проверяет исходное число и обратное число, чтобы классифицировать его как палиндром или нет.

Заключение

  • Палиндром — это значение при сравнении в обратном направлении, а прямое направление оказывается таким же. Он используется в различных математических головоломках.
  • В Python для сравнения, является ли значение палиндромом или нет. Используются следующие методы: – Обратное нарезание, Сопоставление символов, Рекурсия, Использование циклов, функций rev, Len и str, предопределенных функций, рекурсий и т. д.