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.
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.

