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