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