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.