V tomto programu. naučíte se zkontrolovat, zda je řetězec palindrom nebo ne
Abychom porozuměli tomuto příkladu, měli byste znát následující témata programování v Pythonu:
- Příkaz Python if … else
- Pythonové řetězce
- Řetězcové metody
Palindrom je řetězec, který má stejné čtení vpřed i vzad.
Například "dad"
je stejný ve směru vpřed i vzad. Dalším příkladem je „aibohphobia“, což doslova znamená podrážděný strach z palindromů.
Zdrojový kód
# Program to check if a string is palindrome or not my_str = 'aIbohPhoBiA' # make it suitable for caseless comparison my_str = my_str.casefold() # reverse the string rev_str = reversed(my_str) # check if the string is equal to its reverse if list(my_str) == list(rev_str): print("The string is a palindrome.") else: print("The string is not a palindrome.")
Výstup
Řetězec je palindrom.
Poznámka: Chcete-li program otestovat, změňte hodnotu my_str v programu.
V tomto programu jsme vzali řetězec uložený v my_str.
Metodou casefold()
jsme ji učinili vhodnou pro beznádejné srovnání. V zásadě tato metoda vrací verzi řetězce s malými písmeny.
Řetězec převrátíme pomocí vestavěné funkce reversed()
. Protože tato funkce vrací obrácený objekt, pomocí list()
funkce je před porovnáním převedeme do seznamu.