Palindrome-Programm in Python


Was ist das Palindrome-Programm in Python?

Ein Palindrom kann als eine Zeichenfolge oder eine Zahl definiert werden, die bei umgekehrter Position denselben Wert anzeigt. Im einfacheren Sinne bleibt es beim Umkehren unverändert.

Example: deed, 101

Wenn das umgekehrte Wort und das tatsächliche Wort (eine Zahl oder eine Zeichenfolge) verglichen werden, liefern sie das gleiche Ergebnis.

Arten von Palindromen

In der Python-Sprache gibt es drei Arten von Palindromen, die unten aufgeführt sind:

  • Mehrwort-Palindrom: Dies ist eine Kombination mehrerer Wörter, bei der der Wert des ursprünglichen und des umgekehrten Wortes gleich ist.
  • Einzelwort-Palindrom: Dies ist ein einzelnes Wort, bei dem der Wert des ursprünglichen und des umgekehrten Wortes gleich ist.
  • Zahlenpalindrom: Dies ist eine Zahl, bei der die Werte der ursprünglichen und umgekehrten Zahlen gleich sind. Die gegebene Eingabe bleibt sowohl von der Vorwärts- als auch von der Rückwärtsseite gleich.

Algorithmus für eine Palindromzahl in Python

Zur Überprüfung der Palindromzahl kann der folgende Algorithmus angewendet werden:

Schritt 1) Führen Sie die Variablendeklaration als „I“ durch und lesen Sie die Variable.

Schritt 2) Weisen Sie „I“ der temporären Variablen j zu. i=j

Schritt 3) Führen Sie die Schleife mit den folgenden Anweisungen aus: –

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

Schritt 4) Temporäre Variable mit l vergleichen. L==J.

Schritt 5) Geben Sie die Zahl als Palindrom aus, wenn die Bedingung erfüllt ist.

Schritt 6) Wenn die Bedingung nicht erfüllt ist, geben Sie die Zahl als Nicht-Palindrom aus.

Schritt 7) Ende

Der obige Algorithmus gilt für Palindromzahlen in Python.

Methode 1: Palindromzahl in Python mit Backward Slicing

Beim Backward-Slicing in Python werden im Allgemeinen Teilmengenanweisungen aus dem Originalprogramm verwendet. Teilmengenanweisungen können auch Schleifen verwenden. Das Palindromprogramm von Python kann rückwärts geschnitten werden.

Das folgende Python-Programm verwendet eine Rückwärtsschleife, um zu bestimmen, ob eine Zeichenfolge ein Palindrom ist.

Palindrom-Stringprogramm im Python-Code:

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

Ausgabe:

deed is: Palindrome

Code-Erklärung:

  • Der Python-Code versucht, die leere Zeichenfolge b in umgekehrter Reihenfolge anzuhängen, indem er die Länge der Hauptzeichenfolge und die Python-Bereichsfunktion verwendet.
  • Der String b wird dann mit dem leeren String rev unter Verwendung des String-Trennzeichens verbunden.

Methode 2: Palindrom-Programm in Python mit Flag

Flag-Variablen können in Python definiert werden, um Palindrome zu identifizieren. Flag wird auf 0 initialisiert. Das folgende Programm veranschaulicht die Verwendung des Flag-Parameters:

Python-Code für das Palindrome-Programm:

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)

Ausgabe:

deed is: Palindrome

0

Code-Erklärung:

  • Das Zeichen in Python beginnt mit einem 0-Index.
  • Da m mit -1 initialisiert wird, wird die Zeichenfolge von der Rückseite als negativer Index gelesen.
  • Die for-Schleife mit der if-Anweisung prüft, ob jedes in der Zeichenfolge vorhandene Zeichen, das mit Index 0 beginnt, mit dem umgekehrten Index der Zeichenfolge übereinstimmt.
  • Wenn es jedoch nicht übereinstimmt, initialisiert das Programm das Flag als 1; andernfalls würde es als 0 initialisiert werden.

Methode 3: Überprüfen Sie Palindrome in Python, indem Sie Zeichen umkehren

Die char-Methode wird verwendet, um eine Zeichenfolge in diesem Palindromprogramm in Python umzukehren. Die ursprüngliche Zeichenfolge wird mit der umgekehrten Zeichenfolge überprüft, um festzustellen, ob es sich bei der Zeichenfolge um ein Palindrom handelt oder nicht.

Python Palindrome-Programmcode:

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

Ausgabe:

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

Code-Erklärung:

  • Die str-Funktion von Python hilft bei der Konvertierung des numerischen Wertformats in das String-Format. Das Programm prüft zunächst, ob der Wert 123 ein Palindrom ist oder nicht.
  • Anschließend wird der Wert 101 und der Zeichenfolgenwert der Urkunde überprüft.
  • Der Code prüft, ob es sich bei dem Wert sowohl für numerische als auch für Zeichenfolgenformate um ein Palindrom handelt.

Methode 4: So überprüfen Sie Palindrome in Python mithilfe der Zeichenerkennung

Bei dieser Palindrom-Methode prüft das Programm mithilfe der for-Schleife, der Range-Funktion und der Len-Funktion, ob jedes Zeichen in der Zeichenfolge mit der umgekehrten Zeichenfolge übereinstimmt.

Python-Code:

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

Ausgabe:

Not Palindrome

Code-Erklärung:

  • Eine benutzerdefinierte Funktion mit der Bezeichnung Palindrome Comparator prüft, ob der Wert eine Zeichenfolge ist oder nicht.
  • Das Programm vergleicht die Originalzeichenfolge und die Umkehrung der Originalzeichenfolge anhand der Kriterien original[i]!= original[len(original) – i – 1].
  • Das obige Programm verwendet die Längentechnik, um die Länge der Zeichenfolge zu bestimmen.

Methode 5: Palindrom in Python mit Rekursion

In Python bedeutet Rekursion, dass sich die Funktion wiederholt und nach bestimmten Kriterien aufruft. Auf diese Weise kann das Problem mit derselben Funktionsstruktur in kleinere Probleme zerlegt werden. Mithilfe der rekursiven Programmierlogik können auch Palindrom-Strings überprüft werden

Python-Code:

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

Ausgabe:

12321 is: Palindrome

Code-Erklärung:

  • Das Programm nutzt eine benutzerdefinierte Funktion, die sich selbst rekursiv aufruft.
  • Die ursprüngliche Zahl wird zerlegt und ihr Restwert zum Gegenwert addiert.
  • Der Gegenwert wird zunächst mit 10 multipliziert, bevor der Restwert addiert wird.

Methode 6: Verwendung der While-Schleife zur Überprüfung des Palindroms

Eine While-Schleife führt die Codeausführung iterativ durch, bis die angewendete Bedingung wahr ist.

  • Mit der iterativen Methode kann überprüft werden, ob der ganzzahlige Wert ein Palindrom ist.
  • Das Python-Programm verwendet temporäre Zahlen und die Modulo-Operatoren.

Python-Code:

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

Ausgabe:

Palindrome

Code-Erklärung:

  • Das Programm verwendet eine While-Schleife, die prüft, ob die temporäre Zahl kleiner als Null ist.
  • Der Modulo-Operator berechnet den Rest der ursprünglichen Zahl.
  • Die ursprüngliche Zahl wird durch 10 geteilt.
  • Der Umkehrparameter wird durch Multiplikation mit 10 berechnet.
  • Die resultierende Zahl wird zum Rest addiert.
  • Das obige Programm überprüft die Originalzahl und die Umkehrzahl, um sie als Palindrom zu klassifizieren oder nicht.

Abschluss

  • Palindrom ist ein Wert, wenn man ihn aus der Rückwärtsrichtung vergleicht, und die Vorwärtsrichtung ergibt den gleichen Wert. Es wird in verschiedenen mathematischen Rätseln verwendet.
  • In Python können verschiedene Methoden angewendet werden, um zu vergleichen, ob ein Wert ein Palindrom ist oder nicht. Die verwendeten Techniken sind: – Rückwärts-Slicing, Zeichenvergleich, Rekursion, Verwendung von Schleifen, rev-, Len- und str-Funktionen, vordefinierte Funktionen, Rekursionen usw.