Palindrom-Programm in Python

⚡ Intelligente Zusammenfassung

Palindromprogramme in Python Prüfen, ob eine Zeichenkette oder Zahl vorwärts und rückwärts gelesen gleich ist. Gängige Verfahren sind Backward Slicing, Flag-Vergleich, Zeichenumkehr, Zeichenvergleich, Rekursion und While-Schleifen, sowohl für Text als auch für Zahlen.

  • 🔁 Definition: Ein Palindrom ist vorwärts und rückwärts gelesen gleich, egal ob es sich um ein Wort oder eine Zahl handelt.
  • ️ Slicing und Flaggen: Reverse Die Zeichenkette mit einer Schleife oder das frühzeitige Abfangen von Fehlern mit einem Flag.
  • 🔄 Rekursion und Schleifen: Rekursive Aufrufe und while-Schleifen kehren Zahlen mithilfe von Modulo und Ganzzahldivision um.
  • ⚡ Effizienz: Die Zwei-Zeiger-Methode vergleicht die Enden von innen nach außen in O(n) Zeit und O(1) Speicherplatz.
  • 🤖 KI-Relevanz: Die Logik der Palindrome unterstützt die NLP-Vorverarbeitung, DNA-Prüfungen und das maschinelle Lernen beim Interviewtraining.

Palindrom-Programm in Python

Was ist das Palindrome-Programm in Python?

Ein Palindrom kann als Zeichenfolge oder 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 Python SpracheEs gibt drei Arten von Palindromen, die unten aufgeführt sind:

  • Palindrom mit mehreren Wörtern: Dies ist eine Kombination aus mehreren Wörtern, 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 der umgekehrten Zahlen gleich sind. Die angegebene Eingabe bleibt sowohl von vorne als auch von hinten gleich.

Algorithmus für eine Palindromzahl in Python

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

Schritt 1) Variablendeklaration durchführen als 'I' und lesen Sie die Variable.

Schritt 2) Zuweisen 'I' zur temporären Variablen j. i=j

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

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

Schritt 4) Vergleiche temporäre Variable mit l. 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: Palindrom-Nummer in Python mit Backward Slicing

Rückwärtsschneiden in Python beinhaltet im Allgemeinen die Verwendung von Teilmengenanweisungen aus dem Originalprogramm. Teilmengenanweisungen können auch Schleifen verwenden. PythonDas Palindrom-Programm von 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-String-Programm in 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")

Ausgang:

deed is: Palindrome

Code Erläuterung:

  • Das Python Der Code versucht, den leeren String b in umgekehrter Reihenfolge anzuhängen, indem er die Länge des Hauptstrings und den Python Bereichsfunktion.
  • Die Zeichenfolge b wird dann mithilfe des Zeichenfolgentrennzeichens mit der leeren Zeichenfolge rev verbunden ".

Methode 2: Palindrom-Programm in Python mit Flagge

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

Python Code für das Palindrom-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)

Ausgang:

deed is: Palindrome

0

Code Erläuterung:

  • Der Saibling in Python beginnt mit einem Index 0.
  • 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.

Methode 3: Überprüfen Sie Palindrome in Python durch Umkehren des Charakters

Die char-Methode wird verwendet, um eine Zeichenfolge in diesem Palindrom-Programm umzukehren in Python. Die Originalzeichenfolge wird mit der umgekehrten Zeichenfolge verglichen, um zu bestimmen, ob die Zeichenfolge ein Palindrom ist oder nicht.

Python Palindrom-Programm Code:

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

Ausgang:

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 Erläuterung:

  • PythonDie str-Funktion von hilft dabei, das numerische Werteformat in das String-Format umzuwandeln. 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 Zeichenübereinstimmung

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

Ausgang:

Not Palindrome

Code Erläuterung:

  • Eine benutzerdefinierte Funktion mit der Bezeichnung Palindrome Comparator prüft, ob der Wert eine Zeichenfolge ist oder nicht.
  • Das Programm vergleicht die Originalzeichenkette und deren Umkehrung anhand der folgenden 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 Rekursion verwenden

In Pythonbedeutet Rekursion, dass die Funktion sich selbst wiederholt und nach einem bestimmten Satz von Kriterien aufruft. Auf diese Weise kann das Problem in kleinere Probleme mit derselben Funktionsstruktur zerlegt werden. Durch die Verwendung der rekursiven Programmierlogik können Palindrom-Zeichenfolgen auch ü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")

Ausgang:

12321 is: Palindrome

Code Erläuterung:

  • 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 Das Programm verwendet temporäre Zahlen und 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")

Ausgang:

Palindrome

Code Erläuterung:

  • 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 ursprüngliche Zahl und die umgekehrte Zahl, um sie als Palindrom zu klassifizieren oder nicht.

Häufig gestellte Fragen

Vergleiche den Wert mit seinem Umkehrwert mithilfe von s == s[::-1], wobei du die Zahlen vorher mit str() umwandelst. Übereinstimmende Richtungen bedeuten ein Palindrom.

Die Zwei-Zeiger-Methode spart Speicherplatz mit einer Laufzeit von O(n) und einem Speicherbedarf von O(1), wobei die Slice-Umkehrung in C üblicherweise am schnellsten ist.Python.

Ein Zeiger beginnt vorne, einer hinten; sie werden von unten nach oben verglichen. Stimmen die Zeigerpaare überein, bis sie sich treffen, ergibt sich ein Palindrom.

Wandeln Sie den Text mit isalnum() in Kleinbuchstaben um und behalten Sie nur alphanumerische Zeichen bei. Vergleichen Sie das Ergebnis anschließend mit der umgekehrten Schreibweise. Groß- und Kleinschreibung sowie Leerzeichen spielen keine Rolle mehr.

Reverse Eine Zeichenkette mit einem Slice s[::-1], reversed() plus “”.join() oder einer voranstellenden Schleife, dann vergleiche sie mit dem Original.

Ja. Ein einzelnes Zeichen und eine leere Zeichenkette werden in umgekehrter Reihenfolge gleich gelesen, daher gibt s == s[::-1] True zurück.

RevDie allgemeine Logik steuert die NLP-Vorverarbeitung, bioinformatische DNA-Analysen und das Feature Engineering. Bibliotheken wie NumPy Vektorisierung dieser Symmetrietests für maschinelles Lernen.

Ja. GitHub Copilot und ähnliche KI-Assistenten generieren anhand einer Eingabeaufforderung verschiedene Varianten wie Slicing, Zwei-Zeiger-Operationen, Rekursion oder Schleifen. Überprüfen Sie immer zuerst die Sonderfälle.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: