Palindroomprogramma in Python
Waar zit het Palindroomprogramma in? Python?
Een palindroom kan worden gedefinieerd als een tekenreeks of een getal dat dezelfde waarde weergeeft wanneer de positie wordt omgekeerd. In eenvoudiger zin blijft het ongewijzigd als het wordt omgekeerd.
Example: deed, 101
Wanneer het omgekeerde woord en het eigenlijke woord (een getal of een reeks) worden vergeleken, leveren ze hetzelfde resultaat op.
Soorten palindroom
In Python taalPalindroom bestaat uit drie typen, zoals hieronder vermeld:
- Palindroom van meerdere woorden: Dit is een combinatie van meerdere woorden waarbij de waarde van het originele en omgekeerde woord hetzelfde is.
- Palindroom van één woord: Dit is een enkel woord waarvan de waarde van het originele en de omgekeerde woorden hetzelfde is.
- Nummerpalindroom: Dit is een getal waarbij de waarden van het originele en omgekeerde getal hetzelfde zijn. De gegeven invoer blijft hetzelfde, zowel van de voorwaartse als van de achterwaartse kant.
Algoritme voor een palindroomgetal in Python
Het volgende algoritme kan worden toegepast om het palindroomnummer te controleren:
Stap 1) Voer variabele declaratie uit als 'I' en lees de variabele.
Stap 2) Toewijzen 'I' naar tijdelijke variabele j. ik=j
Stap 3) Voer de lus uit volgens de onderstaande instructies: –
- M=Ik% 10
- L=L x 10 + M
- Ik = Ik / 10
Stap 4) Vergelijk tijdelijke variabele met l. L==J.
Stap 5) Druk het getal af als een palindroom als aan de voorwaarde is voldaan.
Stap 6) Als niet aan de voorwaarde wordt voldaan, drukt u het getal af als geen palindroom.
Stap 7) Einde
Het bovenstaande algoritme is van toepassing op palindroomgetallen in Python.
Methode 1: Palindroomgetal in Python met behulp van achterwaarts snijden
Achterwaarts insnijden Python omvat doorgaans het gebruik van subset-instructies uit het oorspronkelijke programma. Subset-instructies kunnen ook lussen gebruiken. Python's palindroomprogramma kan achterwaarts worden gesneden.
Het volgende Python-programma gebruikt een achterwaartse lus om te bepalen of een string een palindroom is.
Palindroom stringprogramma 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")
Output:
deed is: Palindrome
Code Verklaring:
- Ocuco's Medewerkers Python De code probeert de lege string b in omgekeerde volgorde toe te voegen door de lengte van de hoofdstring en de Python bereik functie.
- De snaar b wordt vervolgens samengevoegd met de lege snaar rev met behulp van de snaarscheider ".
Methode 2: Palindroomprogramma in Python met behulp van Vlag
Vlagvariabelen kunnen worden gedefinieerd in Python om palindromen te identificeren. Flag wordt geïnitialiseerd op 0. Het volgende programma illustreert het gebruik van de flag-parameter:
Python Code voor Palindroomprogramma:
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)
Output:
deed is: Palindrome 0
Code Verklaring:
- De char erin Python begint met een 0-index.
- Omdat m wordt geïnitialiseerd als -1, wordt de string vanaf de achterkant gelezen als een negatieve index.
- De for-lus met de if-instructie controleert of elk teken dat begint met index 0 in de string overeenkomt met de omgekeerde index van de string.
- Als dit niet het geval is, initialiseert het programma de vlag als 1. Anders zou het de vlag als 0 initialiseren.
Methode 3: Palindroom controleren Python door het omkeren van het karakter
De char-methode wordt gebruikt om een string in dit palindroomprogramma om te draaien PythonDe originele string wordt vergeleken met de omgekeerde string om te bepalen of de string een palindroom is of niet.
Python Palindroomprogrammacode:
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))
Output:
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 Verklaring:
- Python's str-functie helpt bij het converteren van het numerieke waardeformaat naar het stringformaat. Het programma controleert eerst of waarde 123 een palindroom is of niet.
- Vervolgens wordt gecontroleerd op de waarde van 101 en de tekenreekswaarde van de akte.
- De code controleert of de waarde een palindroom is voor zowel numerieke als tekenreeksformaten.
Methode 4: Palindroom inchecken Python met behulp van karaktermatching
Bij deze palindroommethode controleert het programma of elk teken in de string overeenkomt met de omgekeerde string door gebruik te maken van de for-lus, de bereikfunctie en de Len-functie.
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")
Output:
Not Palindrome
Code Verklaring:
- Een door de gebruiker gedefinieerde functie met het label Palindrome Comparator controleert of de waarde een string is of niet.
- Het programma vergelijkt de originele string met de omgekeerde versie van de originele string door gebruik te maken van de criteria origineel[i]!= origineel[len(origineel) – i – 1].
- Bovenstaand programma maakt gebruik van de lengtetechniek om de lengte van de snaar te bepalen.
Methode 5: Palindroom in Python gebruik van recursie
In PythonRecursie betekent dat de functie zichzelf herhaaldelijk en volgens een specifieke reeks criteria aanroept. Op deze manier kan het probleem worden opgesplitst in kleinere problemen met dezelfde functiestructuur. Door gebruik te maken van recursieprogrammeerlogica kunnen palindroomreeksen ook worden gecontroleerd
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")
Output:
12321 is: Palindrome
Code Verklaring:
- Het programma maakt gebruik van een door de gebruiker gedefinieerde functie die zichzelf recursief aanroept.
- Het oorspronkelijke getal wordt opgesplitst en de restwaarde ervan wordt opgeteld bij de tegenovergestelde waarde.
- De tegenovergestelde waarde wordt eerst met 10 vermenigvuldigd voordat deze wordt opgeteld met de restwaarde.
Methode 6: While Loop gebruiken om het palindroom te controleren
Een while-lus voert de uitvoering van code iteratief uit totdat de toegepaste voorwaarde waar is.
- De iteratieve methode kan worden gebruikt om te controleren of de gehele waarde een palindroom is.
- Ocuco's Medewerkers Python Het programma maakt gebruik van tijdelijke getallen en de 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")
Output:
Palindrome
Code Verklaring:
- Het programma maakt gebruik van een while-lus die controleert of het tijdelijke getal kleiner is dan nul.
- De modulo-operator berekent de rest van het oorspronkelijke getal.
- Het oorspronkelijke getal wordt gedeeld door 10.
- De omgekeerde parameter wordt berekend door te vermenigvuldigen met 10.
- Het resulterende getal wordt opgeteld bij het residu.
- Het bovenstaande programma controleert het oorspronkelijke nummer en het omgekeerde nummer om het al dan niet als palindroom te classificeren.
Conclusie
- Palindroom is een waarde vergeleken vanuit de achterwaartse richting, en de voorwaartse richting wordt hetzelfde. Het wordt gebruikt in verschillende wiskundige puzzels.
- Er kunnen verschillende manieren worden toegepast Python om te vergelijken of een waarde een palindroom is of niet. De gebruikte technieken zijn: – Backward slicing, Character matching, Recursion, Use of loops, rev, Len, en str functies, pre-defined functies, recursions etc.