Palindroomi programm sisse Python

Mis on Palindroomi programm Python?

Palindroomi saab mรครคratleda kui stringi vรตi arvu, mis kuvab sama vรครคrtust, kui selle asukoht on vastupidine. Lihtsamas mรตttes jรครคb see รผmberpรถรถramisel muutumatuks.

Example: deed, 101

Kui vรตrrelda pรถรถrdsรตna ja tegelikku sรตna (arvu vรตi stringi), annavad need sama tulemuse.

Palindroom sisse Python

Palindroomi tรผรผbid

In Python keel, palindroom on kolme tรผรผpi, nagu on loetletud allpool:

  • Mitmesรตnaline palindroom: See on kombinatsioon mitmest sรตnast, mille alg- ja รผmberpรถรถratud sรตnade vรครคrtus on sama.
  • รœhesรตnaline palindroom: See on รผks sรตna, mille alg- ja รผmberpรถรถratud sรตnade vรครคrtus on sama.
  • Numbripalindroom: See on arv, mille alg- ja รผmberpรถรถratud numbrite vรครคrtused on samad. Antud sisend jรครคb samaks kas eest- vรตi tagakรผljelt.

Algoritm palindroomi numbri jaoks Python

Palindroomi arvu kontrollimiseks saab rakendada jรคrgmist algoritmi:

Step 1) Tehke muutuja deklaratsioon kui "Ija lugege muutujat.

Step 2) mรครคra 'I' ajutisele muutujale j. i=j

Step 3) Tehke silmus allolevate juhiste jรคrgi: โ€“

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

Step 4) Vรตrrelge ajutist muutujat l-ga. L==J.

Step 5) Kui tingimus on tรคidetud, printige number palindroomiks.

Step 6) Kui tingimus ei vasta, printige number kui mitte palindroom.

Step 7) Lรตpp

รœlaltoodud algoritm kehtib palindroomi numbrite kohta Python.

1. meetod: palindroomi number sisse Python kasutades tagurpidi viilutamist

Tagurpidi sisselรตikamine Python hรตlmab tavaliselt algprogrammi alamhulga lausete kasutamist. Alamhulgalaused vรตivad samuti kasutada silmuseid. Pythonpalindroomi programmi saab tagasi lรตigata.

Jรคrgmine pythoni programm kasutab tagurpidi tsรผklit, et teha kindlaks, kas string on palindroom.

Palindroom string programm sisse Python kood:

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

Vรคljund:

deed is: Palindrome

Koodi selgitus:

  • . Python kood proovib lisada tรผhja stringi b vastupidises jรคrjekorras, kasutades pรตhistringi pikkust ja Python vahemiku funktsioon.
  • Seejรคrel รผhendatakse string b stringi eraldaja abil tรผhja stringiga rev ".

2. meetod: palindroomi programm sisse Python kasutades lippu

Lipu muutujaid saab mรครคratleda Python palindroomide tuvastamiseks. Lipu lรคhtestamine on 0. Jรคrgmine programm illustreerib lipuparameetri kasutamist:

Python Palindroomi programmi kood:

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)

Vรคljund:

deed is: Palindrome

0

Koodi selgitus:

  • Sรถe sisse Python algab indeksiga 0.
  • Kuna m on lรคhtestatud vรครคrtusega -1, loetakse string negatiivse indeksina tagakรผljelt.
  • For-silmus koos if-lausega kontrollib, kas iga stringis olev 0-ga algav mรคrk vastab stringi pรถรถrdindeksile.
  • Kui aga ei รผhti, lรคhtestab programm lipu vรครคrtuseks 1; vastasel juhul lรคhtestab see selle vรครคrtuseks 0.

3. meetod: kontrollige palindroomi sisse Python iseloomu tagurdades

Char-meetodit kasutatakse stringi รผmberpรถรถramiseks selles palindroomiprogrammis Python. Algset stringi kontrollitakse pรถรถrdstringiga, et teha kindlaks, kas string on palindroom vรตi mitte.

Python Palindroomi programmi kood:

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

Vรคljund:

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

Koodi selgitus:

  • Pythonfunktsioon str aitab teisendada arvvรครคrtuse vormingu stringivormingusse. Programm kontrollib esmalt, kas vรครคrtus 123 on palindroom vรตi mitte.
  • Seejรคrel kontrollib see 101 vรครคrtust ja akti stringi vรครคrtust.
  • Kood kontrollib, kas vรครคrtus on palindroom nii numbri- kui ka stringvormingus.

4. meetod: palindroomi sisseregistreerimine Python kasutades mรคrkide sobitamist

Selle palindroommeetodi puhul kontrollib programm for-silmuse, vahemiku funktsiooni ja Len funktsiooni abil, kas stringi iga mรคrk kattub vastupidise stringiga.

Python kood:

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

Vรคljund:

Not Palindrome

Koodi selgitus:

  • Kasutaja mรครคratletud funktsioon nimega Palindroom Comparator kontrollib, kas vรครคrtus on string vรตi mitte.
  • Programm vรตrdleb algset stringi ja algse stringi tagurpidi, kasutades kriteeriumid originaal[i]!= originaal[len(originaal) โ€“ i โ€“ 1].
  • รœlaltoodud programm kasutab stringi pikkuse mรครคramiseks pikkuse tehnikat.

5. meetod: palindroom sisse Python kasutades rekursiooni

In Python, tรคhendab rekursioon seda, et funktsioon kutsub end korduvalt ja kindla kriteeriumikomplekti jรคrgi. Nii saab probleemi sama funktsioonistruktuuri kasutades vรคiksemateks jagada. Rekursioonprogrammeerimise loogikat kasutades saab kontrollida ka palindroomi stringe

Python kood:

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

Vรคljund:

12321 is: Palindrome

Koodi selgitus:

  • Programm kasutab kasutaja mรครคratud funktsiooni, mis kutsub end rekursiivselt.
  • Algne number jaotatakse ja selle jรครคkvรครคrtus lisatakse vastupidisele vรครคrtusele.
  • Vastupidine vรครคrtus korrutatakse kรตigepealt 10-ga, enne kui lisatakse รผlejรครคnud vรครคrtus.

6. meetod: Kuidas kasutada palindroomi kontrollimiseks funktsiooni While Loop

Kuigi tsรผkkel tรคidab koodi iteratiivselt, kuni rakendatud tingimus on tรตene.

  • Iteratiivse meetodi abil saab kontrollida, kas tรคisarv on palindroom.
  • . Python programm kasutab ajutisi numbreid ja mooduloperaatoreid.

Python kood:

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

Vรคljund:

Palindrome

Koodi selgitus:

  • Programm kasutab while-tsรผklit, mis kontrollib, kas ajutine arv on vรคiksem kui null.
  • Mooduloperaator arvutab algse arvu รผlejรครคnud osa.
  • Algne arv jagatakse 10-ga.
  • Pรถรถrdparameeter arvutatakse korrutades 10-ga.
  • Saadud arv lisatakse jรครคgile.
  • รœlaltoodud programm kontrollib algset numbrit ja pรถรถrdnumbrit, et klassifitseerida see palindroomiks vรตi mitte.

Jรคreldus

  • Palindroom on vรครคrtus, kui vรตrrelda tagasisuunas ja edasisuunas on sama. Seda kasutatakse mitmesugustes matemaatilistes mรตistatustes.
  • Kasutada saab mitmeid viise Python vรตrrelda, kas vรครคrtus on palindroom vรตi mitte. Kasutatavad tehnikad on jรคrgmised: โ€“ tagurpidi lรตikamine, mรคrkide sobitamine, rekursioon, tsรผklite, rev-, Len- ja str-funktsioonide kasutamine, eelmรครคratletud funktsioonid, rekursioonid jne.

Vรตta see postitus kokku jรคrgmiselt: