Palindromprogram i Python

โšก Smart oppsummering

Palindromprogrammer i Python sjekk om en streng eller et tall leses likt fremover og bakover. Vanlige tilnรฆrminger inkluderer bakoverskjรฆring, flaggsammenligning, tegnreversering, tegnmatching, rekursjon og while-loop-teknikker for bรฅde tekst- og numeriske verdier.

  • ๐Ÿ” Definisjon: Et palindrom leser det samme fremover og bakover, enten det er et ord eller et tall.
  • โœ‚๏ธ Skjรฆring og flagg: Reverse strengen med en lรธkke, eller fange opp avvik tidlig med et flagg.
  • ๐Ÿ”„ Rekursjon og lรธkker: Rekursive kall og while-lรธkker reverserer tall ved hjelp av modulo- og heltallsdivisjon.
  • โšก Effektivitet: To-pekermetoden sammenligner endene innover i O(n) tid og O(1) rom.
  • ๐Ÿค– AI-relevans: Palindromlogikk hjelper NLP-forprosessering, DNA-sjekker og intervjupraksis innen maskinlรฆring.

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

Code Forklaring:

  • 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 Code for Palindrom-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

Code Forklaring:

  • 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 Palindromprogrammet Code:

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

Code Forklaring:

  • 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

Code Forklaring:

  • En brukerdefinert funksjon merket som Palindrome Comparator sjekker om verdien er en streng eller ikke.
  • Programmet sammenligner den opprinnelige strengen og det motsatte av den opprinnelige strengen ved รฅ bruke kriteriene 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

Code Forklaring:

  • 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

Code Forklaring:

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

Spรธrsmรฅl og svar

Sammenlign verdien med den motsatte verdien ved รฅ bruke s == s[::-1], og konverter fรธrst tallene med str(). Matchende retninger betyr et palindrom.

To-pekermetoden sparer minne med O(n) tid og O(1) mellomrom, men skive-reversering er vanligvis raskest i C.Python.

ร‰n peker starter foran, รฉn pรฅ slutten; de sammenlignes innover. Matchende par til de mรธtes bekrefter et palindrom.

Bruk liten bokstav i teksten og behold kun alfanumeriske tegn med isalnum(), og sammenlign den deretter med baksiden. Avstand og store bokstaver slutter รฅ spille noen rolle.

Reverse en streng med stykket s[::-1], reversed() pluss โ€œโ€.join(), eller en foranstilt lรธkke, og sammenlign den deretter med originalen.

Ja. Et enkelt tegn og en tom streng leser det samme reversert, sรฅ s == s[::-1] returnerer True.

Reversallogikk driver NLP-forbehandling, bioinformatiske DNA-sjekker og funksjonsutvikling. Biblioteker som nusset Vektoriser disse symmetritestene for maskinlรฆring.

Ja. GitHub Copilot og lignende AI-assistenter genererer slicing-, topeker-, rekursjons- eller lรธkkeversjoner fra en ledetekst. Se alltid gjennom kanttilfeller fรธrst.

Oppsummer dette innlegget med: