Programul Palindrom în Python

În ce este programul Palindrom Python?

Un palindrom poate fi definit ca un șir sau un număr care afișează aceeași valoare atunci când poziția sa este inversată. Într-un sens mai simplu, rămâne nealterat atunci când este inversat.

Example: deed, 101

Când se compară cuvântul invers și cuvântul real (un număr sau un șir), ele produc același rezultat.

Palindrom în Python

Tipuri de palindrom

In Python limbă, Palindromul este de trei tipuri, după cum sunt enumerate mai jos:

  • Palindrom cu mai multe cuvinte: Aceasta este o combinație de mai multe cuvinte în care valoarea cuvintelor originale și a cuvintelor inversate sunt aceeași.
  • Palindrom cu un singur cuvânt: Acesta este un singur cuvânt în care valoarea cuvintelor originale și inversată este aceeași.
  • Palindromul numeric: Acesta este un număr în care valorile numerelor inițiale și inversate sunt aceleași. Intrarea dată rămâne aceeași fie din față, fie din spate.

Algoritm pentru un număr Palindrom în Python

Următorul algoritm poate fi aplicat pentru a verifica numărul palindromului:

Pas 1) Efectuați declarația variabilei ca „I' și citiți variabila.

Pas 2) Atribuiți „I' la variabila temporară j. i=j

Pas 3) Efectuați bucla cu instrucțiunile prezentate mai jos: –

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

Pas 4) Comparați variabila temporară cu l. L==J.

Pas 5) Tipăriți numărul pentru a fi un palindrom dacă condiția este îndeplinită.

Pas 6) Dacă condiția nu este satisfăcută, tipăriți numărul ca nu palindrom.

Pas 7) Sfârşit

Algoritmul de mai sus se aplică numerelor de palindrom în Python.

Metoda 1: numărul de palindrom în Python folosind Backward Slicing

Tăierea înapoi Python implică în general utilizarea instrucțiunilor de subseturi din programul original. Instrucțiunile subsetului pot folosi și bucle. PythonProgramul palindrom al lui poate fi tăiat înapoi.

Următorul program python folosește o buclă înapoi pentru a determina dacă un șir este un palindrom.

Programul de șiruri de palindrom în Python cod:

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

ieșire:

deed is: Palindrome

Explicația codului:

  • Python codul încearcă să adauge șirul gol b în ordine inversă, folosind lungimea șirului principal și Python funcție de gamă.
  • Șirul b este apoi unit cu șirul gol rev folosind separatorul de șir .

Metoda 2: Programul Palindrom în Python folosind Flag

Variabilele flag pot fi definite în Python pentru a identifica palindromurile. Flag este inițializat la 0. Următorul program ilustrează utilizarea parametrului flag:

Python Cod pentru programul Palindrom:

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)

ieșire:

deed is: Palindrome

0

Explicația codului:

  • Char în Python începe cu un indice 0.
  • Deoarece m este inițializat ca -1, șirul este citit de pe verso ca un index negativ.
  • Bucla for cu instrucțiunea if verifică dacă fiecare caracter care începe cu indexul 0 prezent în șir se potrivește cu indexul invers al șirului.
  • Totuși, dacă nu se potrivește, atunci programul inițializează steag-ul ca 1; altfel, l-ar inițializa ca 0.

Metoda 3: Verificați Palindromul Python prin inversarea caracterului

Metoda char este folosită pentru a inversa un șir în acest program palindrom în Python. Șirul original este verificat cu șirul invers pentru a determina dacă șirul este palindrom sau nu.

Python Codul programului Palindrom:

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

ieșire:

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

Explicația codului:

  • PythonFuncția str ajută la convertirea formatului valorii numerice în format șir. Programul verifică mai întâi dacă valoarea 123 este un palindrom sau nu.
  • Apoi verifică valoarea 101 și valoarea șirului actului.
  • Codul verifică dacă valoarea este un palindrom atât pentru formatele numerice, cât și pentru șir.

Metoda 4: Cum să verificați Palindromul Python folosind Potrivirea caracterelor

În această metodă de palindrom, programul verifică dacă fiecare caracter din șir se potrivește cu șirul invers, folosind bucla for, funcția range și funcția Len.

Python cod:

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

ieșire:

Not Palindrome

Explicația codului:

  • O funcție definită de utilizator etichetată ca Palindrom Comparator verifică dacă valoarea este un șir sau nu.
  • Programul compară șirul original și inversul șirului original folosind criterii original[i]!= original[len(original) – i – 1].
  • Programul de mai sus folosește tehnica lungimii pentru a determina lungimea șirului.

Metoda 5: Palindromul în Python folosind recursiunea

In Python, recursiunea înseamnă că funcția se autoapelează în mod repetat și conform unui set specific de criterii. În acest fel, problema poate fi împărțită în altele mai mici folosind aceeași structură de funcție. Prin utilizarea logicii de programare recursive, șirurile de palindrom pot fi, de asemenea, verificate

Python cod:

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

ieșire:

12321 is: Palindrome

Explicația codului:

  • Programul folosește o funcție definită de utilizator care se autoapelează recursiv.
  • Numărul inițial este defalcat, iar valoarea sa reziduală este adăugată la valoarea opusă.
  • Valoarea opusă este înmulțită mai întâi cu 10 înainte de a fi adăugată cu valoarea rămasă.

Metoda 6: Cum să utilizați While Loop pentru a verifica Palindromul

O buclă while realizează execuția codului pe o bază iterativă până când condiția aplicată este adevărată.

  • Metoda iterativă poate fi utilizată pentru a verifica dacă valoarea întreagă este palindrom.
  • Python programul folosește numere temporare și operatori modulo.

Python cod:

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

ieșire:

Palindrome

Explicația codului:

  • Programul utilizează o buclă while care verifică dacă numărul temporar este mai mic decât zero.
  • Operatorul modulo calculează restul numărului original.
  • Numărul inițial este împărțit la 10.
  • Parametrul invers se calculează înmulțind cu 10.
  • Numărul rezultat se adaugă la rezidual.
  • Programul de mai sus verifică numărul original și numărul invers pentru a-l clasifica ca palindrom sau nu.

Concluzie

  • Palindromul este o valoare în comparație din direcția înapoi, iar direcția înainte devine aceeași. Este folosit în diverse puzzle-uri matematice.
  • Se pot adopta mai multe moduri Python pentru a compara dacă o valoare este un palindrom sau nu. Tehnicile utilizate sunt: ​​– Tăiere înapoi, Potrivirea caracterelor, Recursiune, Utilizarea buclelor, funcții rev, Len și str, funcții predefinite, recursiuni etc.