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.

Palindrom u Python

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

Objašnjenje koda:

  • 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 Kod za program Palindrome:

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

Objašnjenje koda:

  • 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 Programski kod palindroma:

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

Objašnjenje koda:

  • 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

Objašnjenje koda:

  • Korisnički definirana funkcija označena kao Palindrome Comparator provjerava je li vrijednost niz ili nije.
  • Program uspoređuje izvorni niz i obrnuti izvorni niz pomoću kriteriji 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

Objašnjenje koda:

  • 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

Objašnjenje koda:

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

Zaključak

  • Palindrom je vrijednost kada se uspoređuje iz smjera unatrag, a smjer naprijed postaje isti. Koristi se u raznim matematičkim zagonetkama.
  • Može se usvojiti nekoliko načina Python za usporedbu je li vrijednost palindrom ili nije. Tehnike koje se koriste su: – Rezanje unatrag, podudaranje znakova, rekurzija, upotreba petlji, funkcije rev, Len i str, unaprijed definirane funkcije, rekurzije itd.