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