Palindromprogram i Python
Vad är Palindrome-programmet i Python?
En palindrom kan definieras som en sträng eller ett tal som visar samma värde när dess position är omvänd. I en enklare mening förblir den oförändrad när den vänds.
Example: deed, 101
När det omvända ordet och det faktiska ordet (ett tal eller en sträng) jämförs ger de samma resultat.
Typer av palindrom
In Python språk, Palindrom är av tre typer, enligt listan nedan:
- Flerords palindrom: Detta är en kombination av flera ord där värdet på de ursprungliga och omvända orden är detsamma.
- Enords palindrom: Detta är ett enda ord där värdet av de ursprungliga och omvända orden är detsamma.
- Nummer palindrom: Detta är ett tal där de ursprungliga och omvända talens värden är samma. Den givna ingången förblir densamma antingen från framåt eller från baksidan.
Algoritm för ett palindromnummer i Python
Följande algoritm kan användas för att kontrollera palindromnumret:
Steg 1) Utför variabeldeklaration som 'I' och läs variabeln.
Steg 2) Tilldela 'I' till temporär variabel j. i=j
Steg 3) Utför slingan med instruktionerna som visas nedan: –
- M=I % 10
- L=L x 10 + M
- I = I / 10
Steg 4) Jämför temporär variabel med l. L==J.
Steg 5) Skriv ut numret för att vara ett palindrom om villkoret är uppfyllt.
Steg 6) Om villkoret inte uppfyller, skriv ut numret som inte palindrom.
Steg 7) Slutet
Ovanstående algoritm gäller för palindromtal i Python.
Metod 1: Palindromnummer i Python med Backward Slicing
Skär in baklänges Python innebär i allmänhet att använda delmängdssatser från det ursprungliga programmet. Delmängdssatser kan också använda loopar. Pythons palindromprogram kan skäras bakåt.
Följande pythonprogram använder en bakåtslinga för att avgöra om en sträng är en palindrom.
Palindrom strängprogram i Python koda:
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")
Produktion:
deed is: Palindrome
Kodförklaring:
- Smakämnen Python kod försöker lägga till den tomma strängen b i omvänd ordning genom att använda längden på huvudsträngen och Python räckviddsfunktion.
- Strängen b sammanfogas sedan med den tomma strängens varv med hjälp av strängseparatorn ".
Metod 2: Palindromprogram i Python med Flagga
Flaggvariabler kan definieras i Python för att identifiera palindromer. Flaggan initieras till 0. Följande program illustrerar användningen av flaggparametern:
Python Kod för Palindrome-programmet:
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)
Produktion:
deed is: Palindrome 0
Kodförklaring:
- Rödingen i Python börjar med ett 0-index.
- Eftersom m initieras som -1 läses strängen från baksidan som ett negativt index.
- For-loopen med if-satsen kontrollerar om varje tecken som börjar med index 0 som finns i strängen matchar det omvända indexet för strängen.
- Men om den inte matchar, initialiserar programmet flaggan som 1; annars skulle det initialiseras som 0.
Metod 3: Kontrollera palindromen Python genom att vända tecken
Char-metoden används för att vända en sträng i detta palindromprogram i Python. Den ursprungliga strängen kontrolleras med den omvända strängen för att avgöra om strängen är palindrom eller inte.
Python Palindrome programkod:
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))
Produktion:
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
Kodförklaring:
- Pythons str-funktion hjälper till att konvertera det numeriska värdeformatet till strängformat. Programmet kontrollerar först om värde 123 är ett palindrom eller inte.
- Den kontrollerar sedan värdet på 101 och strängvärdet för handlingen.
- Koden kontrollerar att värdet är ett palindrom för både numeriska format och strängformat.
Metod 4: Hur man checkar in Palindrome Python med hjälp av Character Matching
I den här palindrommetoden kontrollerar programmet om varje tecken i strängen matchar den omvända strängen genom att använda funktionen for loop, range- och Len-funktion.
Python koda:
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")
Produktion:
Not Palindrome
Kodförklaring:
- En användardefinierad funktion märkt som Palindrome Comparator kontrollerar om värdet är en sträng eller inte.
- Programmet jämför den ursprungliga strängen och baksidan av den ursprungliga strängen genom att använda kriterier original[i]!= original[len(original) – i – 1].
- Ovanstående program använder sig av längdtekniken för att bestämma längden på strängen.
Metod 5: Palindrom in Python med hjälp av rekursion
In Python, innebär rekursion att funktionen anropar sig själv upprepade gånger och enligt en specifik uppsättning kriterier. På så sätt kan problemet delas upp i mindre med samma funktionsstruktur. Genom att använda logik för rekursionsprogrammering kan palindromsträngar också kontrolleras
Python koda:
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")
Produktion:
12321 is: Palindrome
Kodförklaring:
- Programmet använder sig av en användardefinierad funktion som rekursivt anropar sig själv.
- Det ursprungliga numret bryts ner och dess restvärde läggs till det motsatta värdet.
- Det motsatta värdet multipliceras med 10 först innan det adderas med det återstående värdet.
Metod 6: Hur man använder While Loop för att kontrollera palindromen
En while-loop utför exekvering av kod på en iterativ basis tills det tillämpade villkoret är sant.
- Den iterativa metoden kan användas för att kontrollera om heltalsvärdet är palindrom.
- Smakämnen Python Programmet använder sig av temporära nummer och modulo-operatorerna.
Python koda:
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")
Produktion:
Palindrome
Kodförklaring:
- Programmet använder en while-loop som kontrollerar om det tillfälliga numret är mindre än noll.
- Modulo-operatorn beräknar resten av det ursprungliga numret.
- Det ursprungliga talet delas med 10.
- Den omvända parametern beräknas genom att multiplicera med 10.
- Det resulterande talet läggs till resten.
- Ovanstående program kontrollerar det ursprungliga numret och det omvända numret för att klassificera det som palindrom eller inte.
Slutsats
- Palindrom är ett värde när man jämför från bakåtriktningen, och framåtriktningen blir densamma. Det används i olika matematiska pussel.
- Flera sätt kan användas Python att jämföra om ett värde är ett palindrom eller inte. Teknikerna som används är: – Bakåtskärning, Character matching, Rekursion, Användning av loopar, rev, Len och str funktioner, fördefinierade funktioner, rekursioner etc.