Program palindromowy w Python

W czym jest program palindromowy Python?

Palindrom można zdefiniować jako ciąg znaków lub liczbę, która po odwróceniu swojej pozycji wyświetla tę samą wartość. W prostszym sensie pozostaje niezmieniony po odwróceniu.

Example: deed, 101

Kiedy porównuje się słowo odwrotne z rzeczywistym słowem (liczbą lub ciągiem znaków), dają ten sam wynik.

Palindrom w Python

Rodzaje palindromu

In Python język, Palindrom jest trzech typów, jak wymieniono poniżej:

  • Palindrom wielowyrazowy: Jest to kombinacja wielu słów, w której wartość słów oryginalnych i odwróconych jest taka sama.
  • Palindrom jednowyrazowy: Jest to pojedyncze słowo, w którym wartość słów oryginalnych i odwróconych jest taka sama.
  • Palindrom liczbowy: Jest to liczba, w której wartości liczb oryginalnych i odwróconych są takie same. Podane dane wejściowe pozostają takie same zarówno od przodu, jak i od tyłu.

Algorytm obliczania liczby palindromowej w Python

Aby sprawdzić liczbę palindromiczną, można zastosować następujący algorytm:

Krok 1) Wykonaj deklarację zmiennej jako „I' i odczytaj zmienną.

Krok 2) Przypisz 'I' do zmiennej tymczasowej j. ja=j

Krok 3) Wykonaj pętlę zgodnie z poniższymi instrukcjami: –

  • M=I% 10
  • L=dł. x 10 + M
  • Ja = Ja / 10

Krok 4) Porównaj zmienną tymczasową z l. L==J.

Krok 5) Jeśli warunek jest spełniony, wypisz liczbę jako palindrom.

Krok 6) Jeżeli warunek nie jest spełniony, wypisz liczbę jako niepalindromową.

Krok 7) Koniec

Powyższy algorytm stosuje się do liczb palindromowych w Python.

Metoda 1: Liczba palindromowa w Python za pomocą cięcia wstecznego

Wcinanie do tyłu Python generalnie wymaga użycia instrukcji podzbioru z oryginalnego programu. Instrukcje podzbiorów mogą również wykorzystywać pętle. Pythonprogram palindromowy można pokroić wstecz.

Poniższy program w języku Python wykorzystuje pętlę wsteczną w celu ustalenia, czy dany ciąg znaków jest palindromem.

Program ciągów palindromowych w Python kod:

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

Wyjście:

deed is: Palindrome

Wyjaśnienie kodu:

  • Kolekcja Python kod próbuje dodać pusty ciąg b w odwrotnej kolejności, używając długości ciągu głównego i Python funkcja zasięgu.
  • Następnie ciąg b jest łączony z pustym ciągiem rev za pomocą separatora ciągów ".

Metoda 2: Program palindromowy w Python za pomocą flagi

Zmienne flagowe można zdefiniować w Python do identyfikacji palindromów. Flaga jest inicjowana na 0. Poniższy program ilustruje użycie parametru flagi:

Python Kod programu 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)

Wyjście:

deed is: Palindrome

0

Wyjaśnienie kodu:

  • Znak w Python zaczyna się od indeksu 0.
  • Ponieważ m jest inicjowane jako -1, ciąg znaków jest odczytywany od drugiej strony jako indeks ujemny.
  • Pętla for z instrukcją if sprawdza, czy każdy znak w ciągu znaków rozpoczynający się od indeksu 0 pasuje do indeksu odwrotnego ciągu.
  • Jeśli jednak nie jest to zgodne, program inicjalizuje flagę wartością 1; w przeciwnym wypadku inicjalizowałby ją wartością 0.

Metoda 3: Sprawdź Palindrom Python przez odwrócenie znaku

Metoda char jest używana do odwrócenia ciągu w tym programie palindromowym PythonOryginalny ciąg znaków sprawdzany jest przy użyciu ciągu odwrotnego, aby ustalić, czy ciąg znaków jest palindromem, czy nie.

Python Kod programu 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))

Wyjście:

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

Wyjaśnienie kodu:

  • PythonFunkcja str pomaga przekonwertować format wartości liczbowych na format ciągu. Program najpierw sprawdza, czy wartość 123 jest palindromem, czy nie.
  • Następnie sprawdza wartość 101 i wartość ciągu aktu.
  • Kod sprawdza, czy wartość jest palindromem zarówno w przypadku formatów liczbowych, jak i łańcuchowych.

Metoda 4: Jak sprawdzić Palindrom Python za pomocą dopasowywania znaków

W tej metodzie palindromowej program sprawdza, czy każdy znak w ciągu pasuje do ciągu odwrotnego, używając pętli for, funkcji zakresu i funkcji Len.

Python kod:

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

Wyjście:

Not Palindrome

Wyjaśnienie kodu:

  • Funkcja zdefiniowana przez użytkownika oznaczona jako Palindrom Comparator sprawdza, czy wartość jest ciągiem znaków, czy nie.
  • Program porównuje oryginalny ciąg znaków i odwrotną stronę oryginalnego ciągu znaków, używając kryteria oryginał[i]!= oryginał[len(oryginał) – i – 1].
  • Powyższy program wykorzystuje technikę długości do określenia długości łańcucha.

Metoda 5: Palindrom w Python za pomocą rekurencji

In Pythonrekurencja oznacza, że ​​funkcja wywołuje się wielokrotnie i według określonego zestawu kryteriów. W ten sposób problem można podzielić na mniejsze, korzystając z tej samej struktury funkcji. Stosując logikę programowania rekursyjnego, można również sprawdzić ciągi palindromowe

Python kod:

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

Wyjście:

12321 is: Palindrome

Wyjaśnienie kodu:

  • Program korzysta z funkcji zdefiniowanej przez użytkownika, która wywołuje się rekurencyjnie.
  • Oryginalna liczba jest rozkładana, a jej wartość rezydualna jest dodawana do wartości przeciwnej.
  • Wartość przeciwną mnoży się najpierw przez 10, a następnie dodaje do reszty.

Metoda 6: Jak używać pętli While do sprawdzania palindromu

Pętla while wykonuje kod w sposób iteracyjny, dopóki zastosowany warunek nie stanie się prawdziwy.

  • Metodę iteracyjną można zastosować do sprawdzenia, czy wartość całkowita jest palindromem.
  • Kolekcja Python Program wykorzystuje liczby tymczasowe i operatory modulo.

Python kod:

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

Wyjście:

Palindrome

Wyjaśnienie kodu:

  • Program wykorzystuje pętlę while, która sprawdza, czy liczba tymczasowa jest mniejsza od zera.
  • Operator modulo oblicza resztę z oryginalnej liczby.
  • Oryginalna liczba jest dzielona przez 10.
  • Parametr odwrotny oblicza się, mnożąc przez 10.
  • Otrzymaną liczbę dodaje się do reszty.
  • Powyższy program sprawdza liczbę pierwotną i liczbę odwrotną, aby sklasyfikować ją jako palindrom lub nie.

Podsumowanie

  • Palindrom jest wartością porównywaną od kierunku do tyłu, a kierunek do przodu jest taki sam. Jest używany w różnych zagadkach matematycznych.
  • Można zastosować kilka sposobów Python aby porównać, czy wartość jest palindromem, czy nie. Stosowane techniki to: – Wsteczne cięcie, Dopasowywanie znaków, Rekurencja, Użycie pętli, funkcji rev, Len i str, wstępnie zdefiniowanych funkcji, rekurencji itp.

Codzienny biuletyn Guru99

Rozpocznij dzień od najnowszych i najważniejszych wiadomości na temat sztucznej inteligencji, dostarczanych już teraz.