Palindromprogram i Python

Vad รคr Palindrome-programmet i Python?

En palindrom kan definieras som en strรคng eller ett tal som visar samma vรคrde nรคr dess position รคr omvรคnd. I en enklare mening fรถrblir den ofรถrรคndrad nรคr den vรคnds.

Example: deed, 101

Nรคr det omvรคnda ordet och det faktiska ordet (ett tal eller en strรคng) jรคmfรถrs ger de samma resultat.

Palindrom i Python

Typer av palindrom

In Python sprรฅk, Palindrom รคr av tre typer, enligt listan nedan:

  • Flerords palindrom: Detta รคr en kombination av flera ord dรคr vรคrdet pรฅ de ursprungliga och omvรคnda orden รคr detsamma.
  • Enords palindrom: Detta รคr ett enda ord dรคr vรคrdet av de ursprungliga och omvรคnda orden รคr detsamma.
  • Nummer palindrom: Detta รคr ett tal dรคr de ursprungliga och omvรคnda talens vรคrden รคr samma. Den givna ingรฅngen fรถrblir densamma antingen frรฅn framรฅt eller frรฅn baksidan.

Algoritm fรถr ett palindromnummer i Python

Fรถljande algoritm kan anvรคndas fรถr att kontrollera palindromnumret:

Steg 1) Utfรถr variabeldeklaration som 'I' och lรคs variabeln.

Steg 2) Tilldela 'I' till temporรคr variabel j. i=j

Steg 3) Utfรถr slingan med instruktionerna som visas nedan: โ€“

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

Steg 4) Jรคmfรถr temporรคr variabel med l. L==J.

Steg 5) Skriv ut numret fรถr att vara ett palindrom om villkoret รคr uppfyllt.

Steg 6) Om villkoret inte uppfyller, skriv ut numret som inte palindrom.

Steg 7) Slutet

Ovanstรฅende algoritm gรคller fรถr palindromtal i Python.

Metod 1: Palindromnummer i Python med Backward Slicing

Skรคr in baklรคnges Python innebรคr i allmรคnhet att anvรคnda delmรคngdssatser frรฅn det ursprungliga programmet. Delmรคngdssatser kan ocksรฅ anvรคnda loopar. Pythons palindromprogram kan skรคras bakรฅt.

Fรถljande pythonprogram anvรคnder en bakรฅtslinga fรถr att avgรถra om en strรคng รคr en palindrom.

Palindrom strรคngprogram i Python koda:

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

Produktion:

deed is: Palindrome

Kodfรถrklaring:

  • Ocuco-landskapet Python kod fรถrsรถker lรคgga till den tomma strรคngen b i omvรคnd ordning genom att anvรคnda lรคngden pรฅ huvudstrรคngen och Python rรคckviddsfunktion.
  • Strรคngen b sammanfogas sedan med den tomma strรคngens varv med hjรคlp av strรคngseparatorn ".

Metod 2: Palindromprogram i Python med Flagga

Flaggvariabler kan definieras i Python fรถr att identifiera palindromer. Flaggan initieras till 0. Fรถljande program illustrerar anvรคndningen av flaggparametern:

Python Kod fรถr Palindrome-programmet:

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)

Produktion:

deed is: Palindrome

0

Kodfรถrklaring:

  • Rรถdingen i Python bรถrjar med ett 0-index.
  • Eftersom m initieras som -1 lรคses strรคngen frรฅn baksidan som ett negativt index.
  • For-loopen med if-satsen kontrollerar om varje tecken som bรถrjar med index 0 som finns i strรคngen matchar det omvรคnda indexet fรถr strรคngen.
  • Men om den inte matchar, initialiserar programmet flaggan som 1; annars skulle det initialiseras som 0.

Metod 3: Kontrollera palindromen Python genom att vรคnda tecken

Char-metoden anvรคnds fรถr att vรคnda en strรคng i detta palindromprogram i Python. Den ursprungliga strรคngen kontrolleras med den omvรคnda strรคngen fรถr att avgรถra om strรคngen รคr palindrom eller inte.

Python Palindrome programkod:

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

Produktion:

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

Kodfรถrklaring:

  • Pythons str-funktion hjรคlper till att konvertera det numeriska vรคrdeformatet till strรคngformat. Programmet kontrollerar fรถrst om vรคrde 123 รคr ett palindrom eller inte.
  • Den kontrollerar sedan vรคrdet pรฅ 101 och strรคngvรคrdet fรถr handlingen.
  • Koden kontrollerar att vรคrdet รคr ett palindrom fรถr bรฅde numeriska format och strรคngformat.

Metod 4: Hur man checkar in Palindrome Python med hjรคlp av Character Matching

I den hรคr palindrommetoden kontrollerar programmet om varje tecken i strรคngen matchar den omvรคnda strรคngen genom att anvรคnda funktionen for loop, range- och Len-funktion.

Python koda:

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

Produktion:

Not Palindrome

Kodfรถrklaring:

  • En anvรคndardefinierad funktion mรคrkt som Palindrome Comparator kontrollerar om vรคrdet รคr en strรคng eller inte.
  • Programmet jรคmfรถr den ursprungliga strรคngen och baksidan av den ursprungliga strรคngen genom att anvรคnda kriterier original[i]!= original[len(original) โ€“ i โ€“ 1].
  • Ovanstรฅende program anvรคnder sig av lรคngdtekniken fรถr att bestรคmma lรคngden pรฅ strรคngen.

Metod 5: Palindrom in Python med hjรคlp av rekursion

In Python, innebรคr rekursion att funktionen anropar sig sjรคlv upprepade gรฅnger och enligt en specifik uppsรคttning kriterier. Pรฅ sรฅ sรคtt kan problemet delas upp i mindre med samma funktionsstruktur. Genom att anvรคnda logik fรถr rekursionsprogrammering kan palindromstrรคngar ocksรฅ kontrolleras

Python koda:

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

Produktion:

12321 is: Palindrome

Kodfรถrklaring:

  • Programmet anvรคnder sig av en anvรคndardefinierad funktion som rekursivt anropar sig sjรคlv.
  • Det ursprungliga numret bryts ner och dess restvรคrde lรคggs till det motsatta vรคrdet.
  • Det motsatta vรคrdet multipliceras med 10 fรถrst innan det adderas med det รฅterstรฅende vรคrdet.

Metod 6: Hur man anvรคnder While Loop fรถr att kontrollera palindromen

En while-loop utfรถr exekvering av kod pรฅ en iterativ basis tills det tillรคmpade villkoret รคr sant.

  • Den iterativa metoden kan anvรคndas fรถr att kontrollera om heltalsvรคrdet รคr palindrom.
  • Ocuco-landskapet Python Programmet anvรคnder sig av temporรคra nummer och modulo-operatorerna.

Python koda:

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

Produktion:

Palindrome

Kodfรถrklaring:

  • Programmet anvรคnder en while-loop som kontrollerar om det tillfรคlliga numret รคr mindre รคn noll.
  • Modulo-operatorn berรคknar resten av det ursprungliga numret.
  • Det ursprungliga talet delas med 10.
  • Den omvรคnda parametern berรคknas genom att multiplicera med 10.
  • Det resulterande talet lรคggs till resten.
  • Ovanstรฅende program kontrollerar det ursprungliga numret och det omvรคnda numret fรถr att klassificera det som palindrom eller inte.

Slutsats

  • Palindrom รคr ett vรคrde nรคr man jรคmfรถr frรฅn bakรฅtriktningen, och framรฅtriktningen blir densamma. Det anvรคnds i olika matematiska pussel.
  • Flera sรคtt kan anvรคndas Python att jรคmfรถra om ett vรคrde รคr ett palindrom eller inte. Teknikerna som anvรคnds รคr: โ€“ Bakรฅtskรคrning, Character matching, Rekursion, Anvรคndning av loopar, rev, Len och str funktioner, fรถrdefinierade funktioner, rekursioner etc.

Sammanfatta detta inlรคgg med: