PROGRAMOWANIE I ALGORYTMY

Sprawdzanie, czy słowo jest palindromem w Pythonie


powrót

Palindrom to takie słowo/zdanie/ciąg, które czytane z lewej do prawej ma dokładnie taką samą sekwencję znaków jak czytany z prawej do lewej np.: $$kajak$$ $$kobylamamalybok$$

Zadanie

Wczytaj jeden wyraz i wypisz tak, jeśli reprezentuje on palindrom lub nie w przeciwnym razie.

Wejście

Jeden wyraz złożony wyłącznie z małych liter łacińskiego alfabetu, nie dłuższy niż 1000 znaków.

Wyjście

Napis tak lub nie w zależności, czy łańcuch reprezentuje palindrom, czy nie.

Rozwiązanie pod część praktyczną

Sprawdzimy, czy podany wyraz jest taki sam jak wyraz po odwróceniu.

# **********algorytm.edu.pl***************
def czy_palindrom(n):
   return "tak" if n == n[::-1] else "nie"

# głowna część programu
print(czy_palindrom(input()))
Rozwiązanie pod część teoretyczna

W tym rozwiązaniu będziemy przyglądać się znakom stojącym na pozycjach:
pierwszej i ostatniej,
drugiej i przedostatniej,
itd. aż sprawdzimy wszystkie litery do połowy ciągu. Jeśli za każdym razem będzie zgodność, to zwrócimy napis "tak", jeśli napotkamy chociażby jedno niedopasowanie, to zwrócimy napis "nie".

# **********algorytm.edu.pl***************
def czy_palindrom(n):
    i = 0; j = len(n) - 1 # ustawiam na pierwszą i ostatnią literę
    while i < j:
       if n[i] != n[j]:  # jeśli mamy niezgodność liter
           return "nie"
       i += 1
       j -= 1
    return "tak" # jeśli wszystkie litery stoją na odpowiednich pozycjach

# głowna część programu
print(czy_palindrom(input()))