
Язык python Вам в руки попал набор заклинаний, не терпится их испробовать. Но, прежде чем
приступать к экспериментам, нужно вычеркнуть особо опасные. Вы знаете, что к особо опасным относятся палиндромные заклинания, т.е. те, которые одинаково читаются с начала и с конца (без учёта регистра и пробелов). Напишите функцию remove_inappropriate(spells), принимающую единственный параметр — список заклинаний. Функция должна удалять из этого списка особо опасные заклинания, сохраняя остальные в исходном порядке.

Ответы на вопрос

Объяснение:
def remove_inappropriate(spells):
result = []
for elem in spells:
abc = []
for el in elem:
if el != ' ':
abc.append(el.lower())
rev = list(reversed(abc))
if abc == rev:
result.append(elem)
return result
# наверно, не очень оптимизированно, но всё работает нормально.



Для решения этой задачи, нужно создать функцию remove_inappropriate(spells)
, которая принимает список заклинаний и удаляет из него палиндромные заклинания. Для определения палиндромов, нам необходимо произвести некоторую предварительную обработку строк, чтобы сравнивать их без учёта регистра и пробелов. Для этого мы можем использовать методы строк lower()
и replace()
.
Вот как может выглядеть реализация функции:
pythondef is_palindrome(s):
# Функция, которая проверяет, является ли строка s палиндромом.
# Приводим строку к нижнему регистру и удаляем пробелы.
s = s.lower().replace(" ", "")
# Сравниваем строку с перевёрнутой версией.
return s == s[::-1]
def remove_inappropriate(spells):
# Функция для удаления палиндромных заклинаний из списка.
# Создаем копию списка, чтобы не изменять исходный список во время итерации.
spells_copy = spells[:]
for spell in spells_copy:
if is_palindrome(spell):
spells.remove(spell)
# Пример использования функции:
spells_list = ["abracadabra", "Level", "rotor", "python", "deified", "madam"]
remove_inappropriate(spells_list)
print(spells_list) # Выведет: ["abracadabra", "python"]
В этом примере функция is_palindrome(s)
используется для проверки, является ли строка s
палиндромом. Затем функция remove_inappropriate(spells)
проходит по списку заклинаний, вызывая is_palindrome()
для каждой строки и удаляя палиндромы из списка. Обратите внимание, что мы создаем копию списка spells_copy
, чтобы избежать проблем с изменением списка во время итерации.
После вызова remove_inappropriate(spells_list)
в списке spells_list
останутся только непалиндромные заклинания. В данном примере это будут "abracadabra" и "python".


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili