Program Palindrom v Python

V čem je program Palindrom Python?

Palindrom může být definován jako řetězec nebo číslo, které zobrazuje stejnou hodnotu, když je jeho pozice obrácena. V jednodušším smyslu zůstává při obrácení nezměněn.

Example: deed, 101

Když jsou porovnány obrácené slovo a skutečné slovo (číslo nebo řetězec), výsledkem je stejný výsledek.

Palindrom dovnitř Python

Typy palindromu

In Python jazyk, Palindrom je tří typů, jak je uvedeno níže:

  • Víceslovný palindrom: Jedná se o kombinaci více slov, kde hodnota původního a obráceného slova je stejná.
  • Jednoslovný palindrom: Jedná se o jediné slovo, jehož hodnota původního a obráceného slova je stejná.
  • Palindrom čísel: Toto je číslo, kde jsou hodnoty původního a obráceného čísla stejné. Daný vstup zůstává stejný buď z přední nebo ze zadní strany.

Algoritmus pro palindromové číslo v Python

Pro kontrolu čísla palindromu lze použít následující algoritmus:

Krok 1) Proveďte deklaraci proměnné jako 'I“ a přečtěte si proměnnou.

Krok 2) Přiřadit 'I' do dočasné proměnné j. i=j

Krok 3) Proveďte smyčku podle níže uvedených pokynů: –

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

Krok 4) Porovnejte dočasnou proměnnou s l. L==J.

Krok 5) Pokud je podmínka splněna, vytiskněte číslo jako palindrom.

Krok 6) Pokud podmínka nevyhovuje, vytiskněte číslo jako ne palindrom.

Krok 7) Konec

Výše uvedený algoritmus platí pro čísla palindromů v Python.

Metoda 1: Palindromové číslo v Python pomocí zpětného krájení

Zpětné krájení Python obecně zahrnuje použití příkazů podmnožiny z původního programu. Příkazy podmnožiny mohou také používat smyčky. PythonProgram palindromu lze zpětně krájet.

Následující program python používá zpětnou smyčku k určení, zda je řetězec palindrom.

Řetězcový program Palindrom v Python kód:

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ýstup:

deed is: Palindrome

Vysvětlení kódu:

  • Jedno Python kód se pokusí připojit prázdný řetězec b v opačném pořadí pomocí délky hlavního řetězce a Python funkce rozsahu.
  • Řetězec b je pak spojen s prázdným řetězcem rev pomocí oddělovače řetězců ".

Metoda 2: Palindromový program v Python pomocí Flag

Příznakové proměnné lze definovat v Python k identifikaci palindromů. Příznak je inicializován na 0. Následující program ilustruje použití parametru příznak:

Python Kód pro program 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)

Výstup:

deed is: Palindrome

0

Vysvětlení kódu:

  • V charu Python začíná indexem 0.
  • Protože m je inicializováno jako -1, řetězec se čte z opačné strany jako záporný index.
  • Smyčka for s příkazem if kontroluje, zda se každý znak začínající indexem 0 přítomný v řetězci shoduje s reverzním indexem řetězce.
  • Pokud se však neshoduje, program inicializuje příznak jako 1; jinak by to inicializovalo jako 0.

Metoda 3: Zkontrolujte Palindrome Python obrácením charakteru

Metoda char se používá k obrácení řetězce v tomto programu palindromu Python. Původní řetězec je kontrolován s obráceným řetězcem, aby se určilo, zda je řetězec palindrom nebo ne.

Python Programový kód Palindromu:

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ýstup:

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

Vysvětlení kódu:

  • PythonFunkce str pomáhá převést formát číselné hodnoty na formát řetězce. Program nejprve zkontroluje, zda hodnota 123 je palindrom nebo ne.
  • Poté zkontroluje hodnotu 101 a řetězcovou hodnotu listiny.
  • Kód kontroluje, zda je hodnota palindrom pro číselný i řetězcový formát.

Metoda 4: Jak zkontrolovat Palindrome Python pomocí funkce Character Matching

V této metodě palindromu program kontroluje, zda se každý znak v řetězci shoduje s obráceným řetězcem pomocí cyklu for, funkce rozsahu a funkce Len.

Python kód:

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ýstup:

Not Palindrome

Vysvětlení kódu:

  • Uživatelem definovaná funkce označená jako Palindrome Comparator kontroluje, zda je hodnota řetězec nebo ne.
  • Program porovnává původní řetězec a rub původního řetězce pomocí kritéria original[i]!= original[len(original) – i – 1].
  • Výše uvedený program využívá techniku ​​délky k určení délky řetězce.

Metoda 5: Palindrom in Python pomocí rekurze

In Python, rekurze znamená, že funkce volá sama sebe opakovaně a podle specifické sady kritérií. Tímto způsobem lze problém rozdělit na menší pomocí stejné funkční struktury. Pomocí logiky rekurzního programování lze také kontrolovat palindromové řetězce

Python kód:

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ýstup:

12321 is: Palindrome

Vysvětlení kódu:

  • Program využívá uživatelsky definovanou funkci, která se rekurzivně volá.
  • Původní číslo se rozloží a jeho zůstatková hodnota se přičte k opačné hodnotě.
  • Opačná hodnota se nejprve vynásobí 10 a poté se přidá zbývající hodnota.

Metoda 6: Jak používat While Loop ke kontrole Palindromu

Smyčka while provádí provádění kódu na iterativním základě, dokud není použitá podmínka pravdivá.

  • Iterační metodu lze použít ke kontrole, zda je celočíselná hodnota palindrom.
  • Jedno Python program využívá dočasná čísla a operátory modulo.

Python kód:

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ýstup:

Palindrome

Vysvětlení kódu:

  • Program využívá smyčku while, která kontroluje, zda je dočasné číslo menší než nula.
  • Operátor modulo vypočítá zbytek původního čísla.
  • Původní číslo se vydělí 10.
  • Opačný parametr se vypočítá vynásobením 10.
  • Výsledné číslo se přičte ke zbytku.
  • Výše uvedený program zkontroluje původní číslo a opačné číslo, aby je klasifikoval jako palindrom nebo ne.

Proč investovat do čističky vzduchu?

  • Palindrom je hodnota při srovnání ze zpětného směru a dopředný směr je stejný. Používá se v různých matematických hádankách.
  • Lze přijmout několik způsobů Python porovnat, zda je hodnota palindrom nebo ne. Používané techniky jsou: – Zpětné krájení, Porovnávání znaků, Rekurze, Použití smyček, funkce rev, Len a str, předdefinované funkce, rekurze atd.