Вопрос задан 14.07.2023 в 12:00. Предмет Информатика. Спрашивает Воленчук Дашенька.

Язык python Вам в руки попал набор заклинаний, не терпится их испробовать. Но, прежде чем

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Филатов Алексей.

Объяснение:

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

# наверно, не очень оптимизированно, но всё работает нормально.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи, нужно создать функцию remove_inappropriate(spells), которая принимает список заклинаний и удаляет из него палиндромные заклинания. Для определения палиндромов, нам необходимо произвести некоторую предварительную обработку строк, чтобы сравнивать их без учёта регистра и пробелов. Для этого мы можем использовать методы строк lower() и replace().

Вот как может выглядеть реализация функции:

python
def 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".

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос