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-Erklärung:
- Die 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-Erklärung:
- 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-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))
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-Erklärung:
- 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-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 mithilfe 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 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-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.
- Die 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-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 ursprüngliche Zahl und die umgekehrte Zahl, um sie als Palindrom zu klassifizieren oder nicht.
Fazit
- 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.
- Es gibt mehrere Möglichkeiten, Python um zu vergleichen, ob ein Wert ein Palindrom ist oder nicht. Die verwendeten Techniken sind: – Backward Slicing, Zeichenvergleich, Rekursion, Verwendung von Schleifen, rev-, Len- und str-Funktionen, vordefinierte Funktionen, Rekursionen usw.