Palindromprogram i Python

Hva er Palindrome-programmet i Python?

Et palindrom kan defineres som en streng eller et tall som viser samme verdi nรฅr posisjonen er reversert. I en enklere forstand forblir den uendret nรฅr den reverseres.

Example: deed, 101

Nรฅr det omvendte ordet og det faktiske ordet (et tall eller en streng) sammenlignes, gir de samme resultat.

Palindrom i Python

Typer palindrom

In Python Sprรฅk, Palindrom er av tre typer, som listet nedenfor:

  • Flerords palindrom: Dette er en kombinasjon av flere ord hvor verdien av de originale og omvendte ordene er den samme.
  • Enkeltords palindrom: Dette er et enkelt ord hvor verdien av de originale og omvendte ordene er den samme.
  • Nummer palindrom: Dette er et tall der de opprinnelige og omvendte tallenes verdier er de samme. Den gitte inngangen forblir den samme enten forover eller fra baksiden.

Algoritme for et palindromnummer i Python

Fรธlgende algoritme kan brukes for รฅ sjekke palindromnummeret:

Trinn 1) Utfรธr variabeldeklarasjon som 'I' og les variabelen.

Trinn 2) Tilordne 'I' til midlertidig variabel j. i=j

Trinn 3) Utfรธr lรธkken med instruksjonene som vist nedenfor: โ€“

  • M=I % 10
  • L=L x 10 + M
  • I = I / 10

Trinn 4) Sammenlign midlertidig variabel med l. L==J.

Trinn 5) Skriv ut nummeret for รฅ vรฆre et palindrom hvis betingelsen er oppfylt.

Trinn 6) Hvis betingelsen ikke tilfredsstiller, skriv ut nummeret som ikke palindrom.

Trinn 7) Slutt

Algoritmen ovenfor gjelder for palindromtall i Python.

Metode 1: Palindromnummer i Python ved hjelp av bakoverskjรฆring

Skjรฆring bakover Python innebรฆrer vanligvis รฅ bruke delsettsetninger fra det originale programmet. Delsettsetninger kan ogsรฅ bruke loops. Python's palindromprogram kan kuttes bakover.

Fรธlgende python-program bruker en bakoverslรธyfe for รฅ 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")

Utgang:

deed is: Palindrome

Kodeforklaring:

  • Ocuco Python kode prรธver รฅ legge til den tomme strengen b i omvendt rekkefรธlge ved รฅ bruke lengden pรฅ hovedstrengen og Python rekkeviddefunksjon.
  • Strengen b kobles sรฅ sammen med den tomme strengen rev ved hjelp av strengseparatoren ".

Metode 2: Palindromprogram i Python ved รฅ bruke flagg

Flaggvariabler kan defineres i Python รฅ identifisere palindromer. Flagg initialiseres til 0. Fรธlgende program illustrerer bruken av flaggparameter:

Python Kode for 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)

Utgang:

deed is: Palindrome

0

Kodeforklaring:

  • Rรธyen inn Python begynner med en 0-indeks.
  • Siden m er initialisert som -1, leses strengen fra baksiden som en negativ indeks.
  • For-lรธkken med if-setningen sjekker om hvert tegn som starter med indeks 0 i strengen samsvarer med den omvendte indeksen til strengen.
  • Men hvis det ikke stemmer, initialiserer programmet flagget som 1; ellers vil den initialisere den som 0.

Metode 3: Sjekk palindrom inn Python ved รฅ reversere tegn

Char-metoden brukes til รฅ snu en streng i dette palindromprogrammet i Python. Den opprinnelige strengen kontrolleres med den omvendte strengen for รฅ avgjรธre om strengen er palindrom eller ikke.

Python Palindrome 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))

Utgang:

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:

  • Pythonsin str-funksjon hjelper til med รฅ konvertere numerisk verdiformat til strengformat. Programmet sjekker fรธrst om verdi 123 er et palindrom eller ikke.
  • Den sjekker deretter for verdien av 101 og strengverdien til skjรธtet.
  • Koden sjekker om verdien er et palindrom for bรฅde numeriske formater og strengformater.

Metode 4: Slik sjekker du Palindrome inn Python ved รฅ bruke Character Matching

I denne palindrommetoden sjekker programmet om hvert tegn i strengen samsvarer med den omvendte strengen ved รฅ bruke for loop, range-funksjonen og Len-funksjonen.

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")

Utgang:

Not Palindrome

Kodeforklaring:

  • En brukerdefinert funksjon merket som Palindrome Comparator sjekker om verdien er en streng eller ikke.
  • Programmet sammenligner den opprinnelige strengen og omvendt av den originale strengen ved รฅ bruke kriterier original[i]!= original[len(original) โ€“ i โ€“ 1].
  • Programmet ovenfor bruker lengdeteknikken for รฅ bestemme lengden pรฅ strengen.

Metode 5: Palindrom i Python ved hjelp av rekursjon

In Python, betyr rekursjon at funksjonen kaller seg selv gjentatte ganger og i henhold til et spesifikt sett med kriterier. Pรฅ denne mรฅten kan problemet brytes ned til mindre ved hjelp av samme funksjonsstruktur. Ved รฅ bruke rekursjonsprogrammeringslogikk kan palindromstrenger ogsรฅ sjekkes

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")

Utgang:

12321 is: Palindrome

Kodeforklaring:

  • Programmet benytter seg av en brukerdefinert funksjon som rekursivt kaller seg selv.
  • Det opprinnelige tallet brytes ned, og dets restverdi legges til den motsatte verdien.
  • Den motsatte verdien multipliseres med 10 fรธrst fรธr den legges til med resten.

Metode 6: Hvordan bruke While Loop for รฅ sjekke palindromen

En while-lรธkke utfรธrer utfรธrelse av kode pรฅ en iterativ basis til betingelsen som brukes er sann.

  • Den iterative metoden kan brukes til รฅ sjekke om heltallsverdien er palindrom.
  • Ocuco Python programmet bruker midlertidige tall og modulo-operatorene.

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")

Utgang:

Palindrome

Kodeforklaring:

  • Programmet bruker en while-lรธkke som sjekker om det midlertidige nummeret er mindre enn null.
  • Modulo-operatoren beregner resten av det opprinnelige tallet.
  • Det opprinnelige tallet blir delt pรฅ 10.
  • Omvendt parameter beregnes ved รฅ multiplisere med 10.
  • Det resulterende tallet legges til resten.
  • Programmet ovenfor sjekker det opprinnelige nummeret og det motsatte tallet for รฅ klassifisere det som palindrom eller ikke.

Konklusjon

  • Palindrom er en verdi sammenlignet fra retningen bakover, og retningen fremover kommer til รฅ vรฆre den samme. Den brukes i ulike matematiske gรฅter.
  • Flere mรฅter kan tas i bruk Python รฅ sammenligne om en verdi er et palindrom eller ikke. Teknikkene som brukes er: โ€“ Bakoverskjรฆring, Karaktertilpasning, Rekursjon, Bruk av loops, rev, Len og str-funksjoner, forhรฅndsdefinerte funksjoner, rekursjoner osv.

Oppsummer dette innlegget med: