Palindromi-ohjelma sisään Python

Mitä Palindrome-ohjelma sisältää Python?

Palindromi voidaan määritellä merkkijonoksi tai numeroksi, joka näyttää saman arvon, kun sen sijainti käännetään. Yksinkertaisemmassa mielessä se pysyy muuttumattomana, kun se käännetään.

Example: deed, 101

Kun käänteistä sanaa ja varsinaista sanaa (lukua tai merkkijonoa) verrataan, ne tuottavat saman tuloksen.

Palindromi sisään Python

Palindromityypit

In Python Kieli, Palindromi on kolmea tyyppiä, kuten alla on lueteltu:

  • Monisanainen palindromi: Tämä on useiden sanojen yhdistelmä, jossa alkuperäisen ja käänteisen sanan arvo on sama.
  • Yhden sanan palindromi: Tämä on yksittäinen sana, jossa alkuperäisen ja käänteisen sanan arvo on sama.
  • Numeropalindromi: Tämä on luku, jossa alkuperäisten ja käänteisten lukujen arvot ovat samat. Annettu tulo pysyy samana joko edestä tai takapuolelta.

Algoritmi palindrominumerolle Python

Palindrominumeron tarkistamiseen voidaan käyttää seuraavaa algoritmia:

Vaihe 1) Suorita muuttujan ilmoitus muodossa 'I' ja lue muuttuja.

Vaihe 2) määrätä 'I' väliaikaiseen muuttujaan j. i=j

Vaihe 3) Suorita silmukka alla olevien ohjeiden mukaisesti: –

  • M = I % 10
  • L = P x 10 + M
  • I = I/10

Vaihe 4) Vertaa väliaikaismuuttujaa l:ään. L==J.

Vaihe 5) Tulosta numero palindromiksi, jos ehto täyttyy.

Vaihe 6) Jos ehto ei täytä, tulosta numero ei palindromiksi.

Vaihe 7) pää

Yllä oleva algoritmi koskee palindromilukuja in Python.

Tapa 1: Palindrominumero sisään Python käyttämällä taaksepäin viipalointia

Taaksepäin leikkaus Python Yleensä käytetään alkuperäisen ohjelman osajoukkolausekkeita. Osajoukkolausekkeet voivat myös käyttää silmukoita. PythonPalindromi-ohjelma voidaan leikata taaksepäin.

Seuraava python-ohjelma käyttää taaksepäin silmukkaa määrittääkseen, onko merkkijono palindromi.

Palindromi-kieliohjelma sisään Python koodi:

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

lähtö:

deed is: Palindrome

Koodin selitys:

  • - Python koodi yrittää liittää tyhjän merkkijonon b käänteisessä järjestyksessä käyttämällä päämerkkijonon pituutta ja Python aluetoiminto.
  • Merkkijono b yhdistetään sitten tyhjään merkkijonoon rev käyttämällä merkkijonojen erotinta ".

Tapa 2: Palindromiohjelma sisään Python käyttämällä lippua

Lippumuuttujat voidaan määritellä sisään Python palindromien tunnistamiseen. Lippu alustetaan 0:ksi. Seuraava ohjelma havainnollistaa lippuparametrin käyttöä:

Python Palindromi-ohjelman koodi:

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)

lähtö:

deed is: Palindrome

0

Koodin selitys:

  • Hiihto sisään Python alkaa 0-indeksillä.
  • Koska m on alustettu arvolla -1, merkkijono luetaan kääntöpuolelta negatiivisena indeksinä.
  • For-silmukka if-käskyn kanssa tarkistaa, vastaavatko jokainen merkkijonossa olevaa indeksillä 0 alkavaa merkkiä merkkijonon käänteisen indeksin kanssa.
  • Jos se ei kuitenkaan täsmää, niin ohjelma alustaa lipun 1; muuten se alustaa sen arvoksi 0.

Tapa 3: Tarkista palindromi sisään Python kääntämällä luonnetta

Char-menetelmää käytetään kääntämään merkkijono tässä palindromiohjelmassa Python. Alkuperäinen merkkijono tarkistetaan käänteisellä merkkijonolla sen määrittämiseksi, onko merkkijono palindromi vai ei.

Python Palindromi-ohjelmakoodi:

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

lähtö:

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

Koodin selitys:

  • Pythonstr-funktio auttaa muuttamaan numeerisen arvon muodon merkkijonomuotoon. Ohjelma tarkistaa ensin, onko arvo 123 palindromi vai ei.
  • Sitten se tarkistaa arvon 101 ja teon merkkijonoarvon.
  • Koodi tarkistaa, että arvo on palindromi sekä numero- että merkkijonomuodoissa.

Tapa 4: Palindromin sisäänkirjautuminen Python käyttämällä merkkihakua

Tässä palindromimenetelmässä ohjelma tarkistaa, vastaavatko jokainen merkkijonon merkki käänteisen merkkijonon kanssa käyttämällä for-silmukkaa, aluefunktiota ja Len-funktiota.

Python koodi:

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

lähtö:

Not Palindrome

Koodin selitys:

  • Käyttäjän määrittämä funktio, joka on merkitty nimellä Palindrom Comparator, tarkistaa, onko arvo merkkijono vai ei.
  • Ohjelma vertaa alkuperäistä merkkijonoa ja alkuperäisen merkkijonon käänteistä käyttämällä kriteerit alkuperäinen[i]!= alkuperäinen[len(alkuperäinen) – i – 1].
  • Yllä oleva ohjelma käyttää pituustekniikkaa merkkijonon pituuden määrittämiseen.

Tapa 5: Palindromi sisään Python käyttämällä rekursiota

In Python, rekursio tarkoittaa, että funktio kutsuu itseään toistuvasti ja tietyn kriteerijoukon mukaan. Tällä tavalla ongelma voidaan jakaa pienempiin osiin käyttämällä samaa funktiorakennetta. Rekursio-ohjelmointilogiikkaa käyttämällä voidaan myös tarkistaa palindromijonot

Python koodi:

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

lähtö:

12321 is: Palindrome

Koodin selitys:

  • Ohjelma käyttää käyttäjän määrittämää funktiota, joka kutsuu itseään rekursiivisesti.
  • Alkuperäinen luku jaetaan ja sen jäännösarvo lisätään vastakkaiseen arvoon.
  • Vastakkainen arvo kerrotaan ensin 10:llä ennen kuin se lisätään loppuarvolla.

Tapa 6: Kuinka käyttää While Loopia palindromin tarkistamiseen

While-silmukka suorittaa koodin suorittamisen iteratiivisesti, kunnes käytetty ehto on tosi.

  • Iteratiivisella menetelmällä voidaan tarkistaa, onko kokonaisluku palindromi.
  • - Python ohjelma käyttää väliaikaisia ​​numeroita ja modulo-operaattoreita.

Python koodi:

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

lähtö:

Palindrome

Koodin selitys:

  • Ohjelma käyttää while-silmukkaa, joka tarkistaa, onko väliaikainen luku pienempi kuin nolla.
  • Moduulioperaattori laskee alkuperäisen luvun loppuosan.
  • Alkuperäinen luku jaetaan 10:llä.
  • Käänteinen parametri lasketaan kertomalla 10:llä.
  • Saatu luku lisätään jäännökseen.
  • Yllä oleva ohjelma tarkistaa alkuperäisen numeron ja käänteisen numeron luokitellakseen sen palindromiksi vai ei.

Yhteenveto

  • Palindromi on arvo, kun sitä verrataan taaksepäin suunnasta, ja eteenpäin suunta tulee olemaan sama. Sitä käytetään erilaisissa matemaattisissa pulmissa.
  • Useita tapoja voidaan ottaa käyttöön Python vertailla, onko arvo palindromi vai ei. Käytetyt tekniikat ovat: – Taaksepäin viipalointi, merkkien täsmäys, rekursio, silmukoiden käyttö, rev-, len- ja str-funktiot, ennalta määritetyt funktiot, rekursiot jne.