Палиндромы
Палиндром - это число, слово или предложение, которое читается одинаково справа налево и слева направо. Используйте PalindromeQ, её опции и другие относящиеся к строкам низкоуровневые функции для проверки палиндромических слов и предложений.
Данное слово является палиндромом на английском языке.
In[1]:=
![Click for copyable input](assets.ru/palindromes/In_17.png)
PalindromeQ["racecar"]
Out[1]=
![](assets.ru/palindromes/O_13.png)
Имя Анна также является палиндромом, если не обращать внимание на заглавную букву.
In[2]:=
![Click for copyable input](assets.ru/palindromes/In_18.png)
PalindromeQ["Anna", IgnoreCase -> True]
Out[2]=
![](assets.ru/palindromes/O_14.png)
Используйте Decapitalize в качестве альтернативы, чтобы преобразовать первую букву в строчную.
In[3]:=
![Click for copyable input](assets.ru/palindromes/In_19.png)
PalindromeQ[Decapitalize["Anna"]]
Out[3]=
![](assets.ru/palindromes/O_15.png)
Французское слово "rêver" также является палиндромом, если не обращать внимание на диакритический знак.
In[4]:=
![Click for copyable input](assets.ru/palindromes/In_20.png)
PalindromeQ["rêver", IgnoreDiacritics -> True]
Out[4]=
![](assets.ru/palindromes/O_16.png)
Используйте RemoveDiacritics для обработки глагола вместо заданного слова.
In[5]:=
![Click for copyable input](assets.ru/palindromes/In_21.png)
PalindromeQ[RemoveDiacritics["rêver"]]
Out[5]=
![](assets.ru/palindromes/O_17.png)
В палиндромических предложениях Вам чаще всего необходимо обработать первичную строку.
In[6]:=
![Click for copyable input](assets.ru/palindromes/In_22.png)
sentence = "Now, sir, a war is won!";
In[7]:=
![Click for copyable input](assets.ru/palindromes/In_23.png)
PalindromeQ[sentence]
Out[7]=
![](assets.ru/palindromes/O_18.png)
In[8]:=
![Click for copyable input](assets.ru/palindromes/In_24.png)
StringDelete[sentence, PunctuationCharacter | Whitespace]
Out[8]=
![](assets.ru/palindromes/O_19.png)
In[9]:=
![Click for copyable input](assets.ru/palindromes/In_25.png)
StringDelete[sentence, PunctuationCharacter | Whitespace];
PalindromeQ[%, IgnoreCase -> True]
Out[9]=
![](assets.ru/palindromes/O_20.png)