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.

Palindrom i Python

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.

Opsummer dette indlรฆg med: