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.

