Palindroomprogramma in Python

Waar zit het Palindroomprogramma in? Python?

Een palindroom kan worden gedefinieerd als een tekenreeks of een getal dat dezelfde waarde weergeeft wanneer de positie wordt omgekeerd. In eenvoudiger zin blijft het ongewijzigd als het wordt omgekeerd.

Example: deed, 101

Wanneer het omgekeerde woord en het eigenlijke woord (een getal of een reeks) worden vergeleken, leveren ze hetzelfde resultaat op.

Palindroom in Python

Soorten palindroom

In Python taalPalindroom bestaat uit drie typen, zoals hieronder vermeld:

  • Palindroom van meerdere woorden: Dit is een combinatie van meerdere woorden waarbij de waarde van het originele en omgekeerde woord hetzelfde is.
  • Palindroom van één woord: Dit is een enkel woord waarvan de waarde van het originele en de omgekeerde woorden hetzelfde is.
  • Nummerpalindroom: Dit is een getal waarbij de waarden van het originele en omgekeerde getal hetzelfde zijn. De gegeven invoer blijft hetzelfde, zowel van de voorwaartse als van de achterwaartse kant.

Algoritme voor een palindroomgetal in Python

Het volgende algoritme kan worden toegepast om het palindroomnummer te controleren:

Stap 1) Voer variabele declaratie uit als 'I' en lees de variabele.

Stap 2) Toewijzen 'I' naar tijdelijke variabele j. ik=j

Stap 3) Voer de lus uit volgens de onderstaande instructies: –

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

Stap 4) Vergelijk tijdelijke variabele met l. L==J.

Stap 5) Druk het getal af als een palindroom als aan de voorwaarde is voldaan.

Stap 6) Als niet aan de voorwaarde wordt voldaan, drukt u het getal af als geen palindroom.

Stap 7) Einde

Het bovenstaande algoritme is van toepassing op palindroomgetallen in Python.

Methode 1: Palindroomgetal in Python met behulp van achterwaarts snijden

Achterwaarts insnijden Python omvat doorgaans het gebruik van subset-instructies uit het oorspronkelijke programma. Subset-instructies kunnen ook lussen gebruiken. Python's palindroomprogramma kan achterwaarts worden gesneden.

Het volgende Python-programma gebruikt een achterwaartse lus om te bepalen of een string een palindroom is.

Palindroom stringprogramma in Python code:

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

Output:

deed is: Palindrome

Code Verklaring:

  • Ocuco's Medewerkers Python De code probeert de lege string b in omgekeerde volgorde toe te voegen door de lengte van de hoofdstring en de Python bereik functie.
  • De snaar b wordt vervolgens samengevoegd met de lege snaar rev met behulp van de snaarscheider ".

Methode 2: Palindroomprogramma in Python met behulp van Vlag

Vlagvariabelen kunnen worden gedefinieerd in Python om palindromen te identificeren. Flag wordt geïnitialiseerd op 0. Het volgende programma illustreert het gebruik van de flag-parameter:

Python Code voor Palindroomprogramma:

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)

Output:

deed is: Palindrome

0

Code Verklaring:

  • De char erin Python begint met een 0-index.
  • Omdat m wordt geïnitialiseerd als -1, wordt de string vanaf de achterkant gelezen als een negatieve index.
  • De for-lus met de if-instructie controleert of elk teken dat begint met index 0 in de string overeenkomt met de omgekeerde index van de string.
  • Als dit niet het geval is, initialiseert het programma de vlag als 1. Anders zou het de vlag als 0 initialiseren.

Methode 3: Palindroom controleren Python door het omkeren van het karakter

De char-methode wordt gebruikt om een ​​string in dit palindroomprogramma om te draaien PythonDe originele string wordt vergeleken met de omgekeerde string om te bepalen of de string een palindroom is of niet.

Python Palindroomprogrammacode:

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

Output:

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

Code Verklaring:

  • Python's str-functie helpt bij het converteren van het numerieke waardeformaat naar het stringformaat. Het programma controleert eerst of waarde 123 een palindroom is of niet.
  • Vervolgens wordt gecontroleerd op de waarde van 101 en de tekenreekswaarde van de akte.
  • De code controleert of de waarde een palindroom is voor zowel numerieke als tekenreeksformaten.

Methode 4: Palindroom inchecken Python met behulp van karaktermatching

Bij deze palindroommethode controleert het programma of elk teken in de string overeenkomt met de omgekeerde string door gebruik te maken van de for-lus, de bereikfunctie en de Len-functie.

Python code:

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

Output:

Not Palindrome

Code Verklaring:

  • Een door de gebruiker gedefinieerde functie met het label Palindrome Comparator controleert of de waarde een string is of niet.
  • Het programma vergelijkt de originele string met de omgekeerde versie van de originele string door gebruik te maken van de criteria origineel[i]!= origineel[len(origineel) – i – 1].
  • Bovenstaand programma maakt gebruik van de lengtetechniek om de lengte van de snaar te bepalen.

Methode 5: Palindroom in Python gebruik van recursie

In PythonRecursie betekent dat de functie zichzelf herhaaldelijk en volgens een specifieke reeks criteria aanroept. Op deze manier kan het probleem worden opgesplitst in kleinere problemen met dezelfde functiestructuur. Door gebruik te maken van recursieprogrammeerlogica kunnen palindroomreeksen ook worden gecontroleerd

Python code:

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

Output:

12321 is: Palindrome

Code Verklaring:

  • Het programma maakt gebruik van een door de gebruiker gedefinieerde functie die zichzelf recursief aanroept.
  • Het oorspronkelijke getal wordt opgesplitst en de restwaarde ervan wordt opgeteld bij de tegenovergestelde waarde.
  • De tegenovergestelde waarde wordt eerst met 10 vermenigvuldigd voordat deze wordt opgeteld met de restwaarde.

Methode 6: While Loop gebruiken om het palindroom te controleren

Een while-lus voert de uitvoering van code iteratief uit totdat de toegepaste voorwaarde waar is.

  • De iteratieve methode kan worden gebruikt om te controleren of de gehele waarde een palindroom is.
  • Ocuco's Medewerkers Python Het programma maakt gebruik van tijdelijke getallen en de modulo-operatoren.

Python code:

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

Output:

Palindrome

Code Verklaring:

  • Het programma maakt gebruik van een while-lus die controleert of het tijdelijke getal kleiner is dan nul.
  • De modulo-operator berekent de rest van het oorspronkelijke getal.
  • Het oorspronkelijke getal wordt gedeeld door 10.
  • De omgekeerde parameter wordt berekend door te vermenigvuldigen met 10.
  • Het resulterende getal wordt opgeteld bij het residu.
  • Het bovenstaande programma controleert het oorspronkelijke nummer en het omgekeerde nummer om het al dan niet als palindroom te classificeren.

Conclusie

  • Palindroom is een waarde vergeleken vanuit de achterwaartse richting, en de voorwaartse richting wordt hetzelfde. Het wordt gebruikt in verschillende wiskundige puzzels.
  • Er kunnen verschillende manieren worden toegepast Python om te vergelijken of een waarde een palindroom is of niet. De gebruikte technieken zijn: – Backward slicing, Character matching, Recursion, Use of loops, rev, Len, en str functies, pre-defined functies, recursions etc.