Поиск палиндромов на Python

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Палиндромом называется слово, фраза, число или другая последовательность символов, которая читается одинаково в обоих направлениях. Например, "racecar" - это палиндром, потому что при обратном чтении оно по-прежнему пишется как "racecar". В этом испытании вы напишете функцию, которая проверяет, является ли заданная строка палиндромом.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") subgraph Lab Skills python/booleans -.-> lab-13704{{"Поиск палиндромов на Python"}} python/comments -.-> lab-13704{{"Поиск палиндромов на Python"}} python/lists -.-> lab-13704{{"Поиск палиндромов на Python"}} python/tuples -.-> lab-13704{{"Поиск палиндромов на Python"}} python/function_definition -.-> lab-13704{{"Поиск палиндромов на Python"}} python/importing_modules -.-> lab-13704{{"Поиск палиндромов на Python"}} python/using_packages -.-> lab-13704{{"Поиск палиндромов на Python"}} python/standard_libraries -.-> lab-13704{{"Поиск палиндромов на Python"}} end

Палиндром

Напишите функцию palindrome(s), которая принимает строку s в качестве единственного параметра и возвращает True, если s является палиндромом, и False в противном случае. Ваша функция должна игнорировать регистр и неалфавитно-цифровые символы при проверке на палиндром.

Для решения этой проблемы вы можете следовать следующим шагам:

  1. Используйте str.lower(), чтобы преобразовать строку в нижний регистр.
  2. Используйте re.sub(), чтобы удалить все неалфавитно-цифровые символы из строки.
  3. Сравните полученную строку с ее обратной с использованием срезов.
from re import sub

def palindrome(s):
  s = sub('[\W_]', '', s.lower())
  return s == s[::-1]
palindrome('taco cat') ## True

Резюме

В этом испытании вы узнали, как проверить, является ли заданная строка палиндромом. Вы использовали str.lower() и re.sub(), чтобы преобразовать строку в нижний регистр и удалить неалфавитно-цифровые символы, а затем сравнили полученную строку с ее обратной с использованием срезов.