Palindrom Program in Python

⚡ Pametni sažetak

Palindromski programi u Python provjerava čita li se niz ili broj isto naprijed i unatrag. Uobičajeni pristupi uključuju rezanje unatrag, usporedbu zastavica, inverziju znakova, podudaranje znakova, rekurziju i tehnike while-loop za tekstualne i numeričke vrijednosti.

  • 🔁 Definicija: Palindrom se čita isto naprijed i unatrag, bilo da je riječ ili broj.
  • ✂️ Rezanje i zastavice: Reverse niz pomoću petlje ili rano uhvatiti neusklađenosti pomoću zastavice.
  • 🔄 Rekurzija i petlje: Rekurzivni pozivi i while petlje obrću brojeve koristeći modulo i cjelobrojno dijeljenje.
  • ⚡ Učinkovitost: Metoda s dva pokazivača uspoređuje krajeve prema unutra u O(n) vremenu i O(1) prostoru.
  • 🤖 Relevantnost umjetne inteligencije: Palindromska logika pomaže u predprocesiranju NLP-a, provjerama DNK i vježbanju intervjua za strojno učenje.

Palindrom Program in Python

U čemu je program Palindrome Python?

Palindrom se može definirati kao niz ili broj koji prikazuje istu vrijednost kada je njegov položaj obrnut. U jednostavnijem smislu, ostaje nepromijenjen kada se okrene.

Example: deed, 101

Kada se obrnuta riječ i stvarna riječ (broj ili niz) usporede, daju isti rezultat.

Vrste palindroma

In Python jezik, Palindrom ima tri vrste, kao što je navedeno u nastavku:

  • Palindrom od više riječi: Ovo je kombinacija više riječi gdje su vrijednost izvorne i obrnute riječi iste.
  • Palindrom od jedne riječi: Ovo je jedna riječ kod koje su vrijednost izvorne i obrnute riječi iste.
  • Palindrom brojeva: Ovo je broj kod kojeg su vrijednosti izvornog i obrnutog broja iste. Zadani unos ostaje isti bilo s prednje ili obrnute strane.

Algoritam za palindromski broj u Python

Za provjeru broja palindroma može se primijeniti sljedeći algoritam:

Korak 1) Izvršite deklaraciju varijable kao 'I' i pročitajte varijablu.

Korak 2) Dodijeli 'I' u privremenu varijablu j. i=j

Korak 3) Izvedite petlju prema uputama prikazanim u nastavku: –

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

Korak 4) Usporedite privremenu varijablu s l. L==J.

Korak 5) Ispišite broj koji će biti palindrom ako je uvjet zadovoljen.

Korak 6) Ako uvjet nije zadovoljen, ispišite broj kao ne palindrom.

Korak 7) Kraj

Gornji algoritam primjenjuje se na brojeve palindroma u Python.

Metoda 1: Palindrom broj u Python koristeći Backward Slicing

Rezanje unatrag Python općenito uključuje korištenje naredbi podskupa iz izvornog programa. Izjave podskupa također mogu koristiti petlje. PythonProgram za palindrom može se rezati unatrag.

Sljedeći python program koristi povratnu petlju kako bi utvrdio je li niz palindrom.

Palindrom string program in Python kodirati:

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

Izlaz:

deed is: Palindrome

Code Objašnjenje:

  • The Python kod pokušava dodati prazan niz b obrnutim redoslijedom koristeći duljinu glavnog niza i Python funkcija raspona.
  • Niz b se zatim spaja s praznim nizom rev pomoću separatora niza ".

Metoda 2: Palindromski program u Python koristeći zastavu

Varijable zastavice mogu se definirati u Python identificirati palindrome. Zastavica je inicijalizirana na 0. Sljedeći program ilustrira upotrebu parametra zastavice:

Python Code za program Palindrom:

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)

Izlaz:

deed is: Palindrome

0

Code Objašnjenje:

  • Pougljen u Python počinje s indeksom 0.
  • Budući da je m inicijaliziran kao -1, niz se čita s obrnute strane kao negativni indeks.
  • Petlja for s naredbom if provjerava podudara li se svaki znak koji počinje s indeksom 0 prisutan u nizu s obrnutim indeksom niza.
  • Međutim, ako se ne podudara, tada program inicijalizira zastavu kao 1; inače bi ga inicijalizirao kao 0.

Metoda 3: Provjerite Palindrome Python obrnutim karakterom

Metoda char koristi se za preokretanje niza u ovom programu palindroma Python. Izvorni niz se provjerava s obrnutim nizom kako bi se utvrdilo je li niz palindrom ili ne.

Python Palindromski program 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))

Izlaz:

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 Objašnjenje:

  • PythonFunkcija str pomaže pretvoriti format numeričke vrijednosti u format niza. Program prvo provjerava je li vrijednost 123 palindrom ili ne.
  • Zatim provjerava vrijednost 101 i vrijednost niza dokumenta.
  • Kod provjerava je li vrijednost palindrom i za numeričke i za znakovne formate.

Metoda 4: Kako provjeriti Palindrome Python pomoću slaganja znakova

U ovoj metodi palindroma, program provjerava podudara li se svaki znak u nizu s obrnutim nizom pomoću petlje for, funkcije raspona i funkcije Len.

Python kodirati:

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

Izlaz:

Not Palindrome

Code Objašnjenje:

  • Korisnički definirana funkcija označena kao Palindrome Comparator provjerava je li vrijednost niz ili nije.
  • Program uspoređuje izvorni niz i inverzni niz izvornog niza koristeći kriterije original[i]!= original[len(original) – i – 1].
  • Gornji program koristi tehniku ​​duljine za određivanje duljine niza.

Metoda 5: Palindrom u Python pomoću rekurzije

In Python, rekurzija znači da funkcija sama sebe poziva opetovano i prema određenom skupu kriterija. Na taj se način problem može rastaviti na manje pomoću iste funkcionalne strukture. Korištenjem logike rekurzivnog programiranja mogu se provjeriti i nizovi palindroma

Python kodirati:

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

Izlaz:

12321 is: Palindrome

Code Objašnjenje:

  • Program koristi korisnički definiranu funkciju koja rekurzivno poziva samu sebe.
  • Izvorni broj se rastavlja, a njegova se rezidualna vrijednost dodaje suprotnoj vrijednosti.
  • Suprotna vrijednost prvo se množi s 10 prije nego što se doda vrijednost ostatka.

Metoda 6: Kako koristiti While Loop za provjeru palindroma

Dok petlja izvršava izvršavanje koda na iterativnoj osnovi sve dok primijenjeni uvjet ne postane istinit.

  • Iterativna metoda se može koristiti za provjeru je li cjelobrojna vrijednost palindrom.
  • The Python program koristi privremene brojeve i modulo operatore.

Python kodirati:

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

Izlaz:

Palindrome

Code Objašnjenje:

  • Program koristi while petlju koja provjerava je li privremeni broj manji od nule.
  • Modulo operator izračunava ostatak izvornog broja.
  • Izvorni broj se dijeli s 10.
  • Obrnuti parametar izračunava se množenjem s 10.
  • Rezultirajući broj dodaje se ostatku.
  • Gornji program provjerava izvorni broj i obrnuti broj da bi ga klasificirao kao palindrom ili ne.

Pitanja i odgovori

Usporedite vrijednost s njezinom suprotnom vrijednošću koristeći s == s[::-1], prvo pretvarajući brojeve pomoću str(). Podudarni smjerovi znače palindrom.

Metoda s dva pokaznika štedi memoriju s O(n) vremena i O(1) prostora, no preokret sloja je obično najbrži u C-u.Python.

Jedan pokazivač počinje sprijeda, drugi s kraja; uspoređuju se prema unutra. Sparivanje parova dok se ne susretnu potvrđuje palindrom.

Ispišite tekst malim slovima i zadržite samo alfanumeričke znakove pomoću isalnum(), a zatim ga usporedite s obrnutim redoslijedom. Razmak i velika slova više nisu važni.

Reverse niz s kriškom s[::-1], reversed() plus “”.join() ili petljom na početku, a zatim ga usporedite s originalom.

Da. Jedan znak i prazan niz znakova čitaju se isto obrnuto, pa s == s[::-1] vraća True.

RevEsencijalna logika pokreće NLP predprocesiranje, bioinformatičke provjere DNK i inženjering značajki. Knjižnice poput numpy Vektorizirajte ove testove simetrije za strojno učenje.

Da. GitHub Copilot i slični AI asistenti generiraju verzije s rezanjem, dvopokaznim funkcijama, rekurzijom ili petljom iz prompta. Uvijek prvo pregledajte rubne slučajeve.

Sažmite ovu objavu uz: