Palindrom-program i Python
Hvad er Palindrome-programmet i Python?
Et palindrom kan defineres som en streng eller et tal, der viser den samme værdi, når dets position er omvendt. I en enklere forstand forbliver den uændret, når den vendes om.
Example: deed, 101
Når det omvendte ord og det faktiske ord (et tal eller en streng) sammenlignes, giver de det samme resultat.
Typer af palindrom
In Python Sprog, Palindrom er af tre typer, som angivet nedenfor:
- Palindrom med flere ord: Dette er en kombination af flere ord, hvor værdien af de oprindelige og omvendte ord er den samme.
- Enkeltords palindrom: Dette er et enkelt ord, hvor værdien af de oprindelige og omvendte ord er den samme.
- Nummer palindrom: Dette er et tal, hvor de oprindelige og omvendte tals værdier er de samme. Det givne input forbliver det samme enten forfra eller fra bagsiden.
Algoritme for et palindromnummer i Python
Følgende algoritme kan anvendes til at kontrollere palindromnummeret:
Trin 1) Udfør variabel erklæring som 'I' og læs variablen.
Trin 2) Tildel 'I' til midlertidig variabel j. i=j
Trin 3) Udfør løkken med instruktionerne som vist nedenfor: –
- M=I % 10
- L=L x 10 + M
- I = I / 10
Trin 4) Sammenlign midlertidig variabel med l. L==J.
Trin 5) Udskriv nummeret for at være et palindrom, hvis betingelsen er opfyldt.
Trin 6) Hvis betingelsen ikke opfylder, udskrives nummeret som ikke palindrom.
Trin 7) Ende
Ovenstående algoritme gælder for palindromtal i Python.
Metode 1: Palindromnummer i Python ved hjælp af baglæns udskæring
Baglæns skæring ind Python involverer generelt brug af undersætsætninger fra det originale program. Delmængdeudsagn kan også bruge loops. Python's palindromprogram kan skæres baglæns.
Det følgende python-program bruger en baglæns loop til at bestemme, om en streng er et palindrom.
Palindrom strengprogram i Python kode:
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
Kodeforklaring:
- Python kode forsøger at tilføje den tomme streng b i omvendt rækkefølge ved at bruge længden af hovedstrengen og Python rækkevidde funktion.
- Strengen b forbindes derefter med den tomme strengrev ved hjælp af strengseparatoren ".
Metode 2: Palindrom-program i Python ved hjælp af flag
Flagvariabler kan defineres i Python at identificere palindromer. Flag initialiseres til 0. Følgende program illustrerer brugen af flagparameter:
Python Kode til Palindrome-program:
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
Kodeforklaring:
- Fulden i Python begynder med et 0-indeks.
- Da m er initialiseret som -1, læses strengen fra bagsiden som et negativt indeks.
- For-løkken med if-sætningen kontrollerer, om hvert tegn, der starter med indeks 0 i strengen, stemmer overens med strengens omvendte indeks.
- Men hvis det ikke matcher, initialiserer programmet flaget som 1; ellers ville den initialisere den som 0.
Metode 3: Tjek palindrom ind Python ved at vende karakter
Char-metoden bruges til at vende en streng i dette palindromprogram i Python. Den originale streng kontrolleres med den omvendte streng for at afgøre, om strengen er palindrom eller ej.
Python Palindrom programkode:
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
Kodeforklaring:
- Python's str-funktion hjælper med at konvertere det numeriske værdiformat til strengformat. Programmet kontrollerer først, om værdien 123 er et palindrom eller ej.
- Den kontrollerer derefter for værdien af 101 og strengværdien af skødet.
- Koden kontrollerer, om værdien er et palindrom for både numeriske formater og strengeformater.
Metode 4: Sådan tjekker du palindrom ind Python ved hjælp af Character Matching
I denne palindrommetode kontrollerer programmet, om hvert tegn i strengen stemmer overens med den omvendte streng ved at bruge funktionen for loop, range- og Len-funktion.
Python kode:
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
Kodeforklaring:
- En brugerdefineret funktion mærket som Palindrome Comparator kontrollerer, om værdien er en streng eller ej.
- Programmet sammenligner den originale streng og omvendt af den originale streng ved at bruge kriterier original[i]!= original[len(original) – i – 1].
- Ovenstående program gør brug af længdeteknikken til at bestemme længden af strengen.
Metode 5: Palindrom i Python ved hjælp af rekursion
In Python, betyder rekursion, at funktionen kalder sig selv gentagne gange og efter et bestemt sæt kriterier. På denne måde kan problemet opdeles i mindre ved hjælp af samme funktionsstruktur. Ved at bruge rekursionsprogrammeringslogik kan palindromstrenge også kontrolleres
Python kode:
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
Kodeforklaring:
- Programmet gør brug af en brugerdefineret funktion, der rekursivt kalder sig selv.
- Det oprindelige tal opdeles, og dets restværdi lægges til den modsatte værdi.
- Den modsatte værdi ganges med 10 først, før den lægges sammen med den resterende værdi.
Metode 6: Sådan bruger du While Loop til at kontrollere palindromen
En while-løkke udfører udførelse af kode på en iterativ basis, indtil den anvendte betingelse er sand.
- Den iterative metode kan bruges til at kontrollere, om heltalsværdien er palindrom.
- Python programmet gør brug af midlertidige numre og modulo-operatorerne.
Python kode:
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
Kodeforklaring:
- Programmet anvender en while-løkke, der kontrollerer, om det midlertidige nummer er mindre end nul.
- Modulo-operatoren beregner resten af det oprindelige tal.
- Det oprindelige tal bliver divideret med 10.
- Den omvendte parameter beregnes ved at gange med 10.
- Det resulterende tal lægges til resten.
- Ovenstående program kontrollerer det oprindelige nummer og det omvendte nummer for at klassificere det som palindrom eller ej.
Konklusion
- Palindrom er en værdi sammenlignet fra den bagudgående retning, og den fremadrettede retning kommer til at være den samme. Det bruges i forskellige matematiske puslespil.
- Der kan anvendes flere måder Python at sammenligne om en værdi er et palindrom eller ej. De anvendte teknikker er: – Bagudskæring, Karaktertilpasning, Rekursion, Brug af loops, rev, Len og str funktioner, foruddefinerede funktioner, rekursioner osv.