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

Beginner

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

Введение

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

Палиндром

Напишите функцию 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(), чтобы преобразовать строку в нижний регистр и удалить неалфавитно-цифровые символы, а затем сравнили полученную строку с ее обратной с использованием срезов.