Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 21 марта 2026 06:33

Оки ищет в книгах своё любимое слово и радуется каждый раз, когда находит. Текст до первого появления этого слова и после последнего он красит чёрным. Само слово он не красит. Даны фрагмент текста и любимое слово Локи. Выведи всё, что Локи не закрасил.

Ответ нейросети

21 марта 2026 06:33

Спасибо. Чтобы точно выполнить задание, мне нужен сам фрагмент текста и любимое слово Локи. Пришлите, пожалуйста, текст и слово. Я затем выведу часть текста, которую Локи не закрасил, согласно правилам.

Пока что объясню подробно алгоритм решения и дам готовый код, чтобы можно было проверить на любом входном примере.

Как понять задачу

  • Локи закрашивает цветом весь текст до первого появления слова и после последнего появления слова.
  • Само слово он не закрашивает.
  • Значит не закрашенной останется та часть текста, которая лежит между началом первого появления слова и концом последнего появления слова (включительно самого слова).

Шаги решения (пошагово)

  1. Найти первое вхождение слова в тексте. Обозначим его начало как start_first.
    • Если слова нет вообще, то вся строка не закрашена, ответ — весь текст.
  2. Найти последнее вхождение слова в тексте. Обозначим его начало как start_last.
  3. Определить конец последнего вхождения как end_last = start_last + len(word) - 1.
  4. Но удобнее работать с срезами Python: возьмём конец как индекс после последнего слова end_exclusive = start_last + len(word).
  5. Ответом будет подстрока от start_first до end_exclusive (включительно не нужен, т.к. конец — это граница после последнего слова).
    • В Python это: result = text[start_first:end_exclusive]
  6. Вариант с чувствительностью к регистру:
    • По умолчанию считаем точное совпадение (регистры должны совпадать). Если нужен регистр-нечувствительный вариант, можно привести к нижнему регистру и искать там.
  7. Вариант со строгим поиском целого слова (через границы слов) — если нужно считать слово именно целым словом, а не частью другого слова — можно использовать регулярное выражение r"\bword\b" или аналог в нужном языке.

Пример

  • Текст: "abc def gh def ijk"
  • Слово: "def"
  • Первое вхождение начинается на позиции 4, последнее — на позиции 8, длина слова 3, end_exclusive = 11.
  • Результат: текст[4:11] = "def gh def"

Готовый минимальный код на Python

  • Вариант 1 (обычный поиск по подстроке, чувствителен к регистру): def not_colored_part(text, word): first = text.find(word) if first == -1: return text # слова нет — вся строка не закрашена last = text.rfind(word) end_exclusive = last + len(word) return text[first:end_exclusive]

  • Вариант 2 (чувствительность к регистру не нужна, поиск по слову без учёта регистра): def not_colored_part_case_insensitive(text, word): lower_text = text.lower() lower_word = word.lower() first = lower_text.find(lower_word) if first == -1: return text last = lower_text.rfind(lower_word) end_exclusive = last + len(lower_word) return text[first:end_exclusive]

  • Вариант 3 (если нужно считать только целые слова, а не подстроки внутри слов, можно использовать regex): import re def not_colored_part_whole_words(text, word): pattern = re.compile(r'\b' + re.escape(word) + r'\b') matches = list(pattern.finditer(text)) if not matches: return text first_start = matches[0].start() last_end = matches[-1].end() return text[first_start:last_end]

Что мне нужно от вас

  • Пришлите фрагмент текста и само любимое слово Локи.
  • Если нужно учитывать регистр или считать слова строго целыми (через границы слов), скажите, и я подстрою решение под это требование.

Готов приступить сразу после того как вы пришлёте текст и слово.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

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

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

оки ищет в книгах своё любимое слово и радуется каждый раз, когда находит. Текст до первого появления этого слова и после последнего он красит чёрным. Само слово он не красит. Даны фрагмент текста и любимое слово Локи. Выведи всё, что Локи не закрасил.
Спасибо. Чтобы точно выполнить задание, мне нужен сам фрагмент текста и любимое слово Локи. Пришлите, пожалуйста, текст и слово. Я затем выведу часть текста, которую Локи не закрасил, согласно правилам. Пока что объясню подробно алгоритм решения и дам готовый код, чтобы можно было проверить на любом входном примере. Как понять задачу - Локи закрашивает цветом весь текст до первого появления слова и после последнего появления слова. - Само слово он не закрашивает. - Значит не закрашенной останется та часть текста, которая лежит между началом первого появления слова и концом последнего появления слова (включительно самого слова). Шаги решения (пошагово) 1) Найти первое вхождение слова в тексте. Обозначим его начало как start_first. - Если слова нет вообще, то вся строка не закрашена, ответ — весь текст. 2) Найти последнее вхождение слова в тексте. Обозначим его начало как start_last. 3) Определить конец последнего вхождения как end_last = start_last + len(word) - 1. 4) Но удобнее работать с срезами Python: возьмём конец как индекс после последнего слова end_exclusive = start_last + len(word). 5) Ответом будет подстрока от start_first до end_exclusive (включительно не нужен, т.к. конец — это граница после последнего слова). - В Python это: result = text[start_first:end_exclusive] 6) Вариант с чувствительностью к регистру: - По умолчанию считаем точное совпадение (регистры должны совпадать). Если нужен регистр-нечувствительный вариант, можно привести к нижнему регистру и искать там. 7) Вариант со строгим поиском целого слова (через границы слов) — если нужно считать слово именно целым словом, а не частью другого слова — можно использовать регулярное выражение r"\bword\b" или аналог в нужном языке. Пример - Текст: "abc def gh def ijk" - Слово: "def" - Первое вхождение начинается на позиции 4, последнее — на позиции 8, длина слова 3, end_exclusive = 11. - Результат: текст[4:11] = "def gh def" Готовый минимальный код на Python - Вариант 1 (обычный поиск по подстроке, чувствителен к регистру): def not_colored_part(text, word): first = text.find(word) if first == -1: return text # слова нет — вся строка не закрашена last = text.rfind(word) end_exclusive = last + len(word) return text[first:end_exclusive] - Вариант 2 (чувствительность к регистру не нужна, поиск по слову без учёта регистра): def not_colored_part_case_insensitive(text, word): lower_text = text.lower() lower_word = word.lower() first = lower_text.find(lower_word) if first == -1: return text last = lower_text.rfind(lower_word) end_exclusive = last + len(lower_word) return text[first:end_exclusive] - Вариант 3 (если нужно считать только целые слова, а не подстроки внутри слов, можно использовать regex): import re def not_colored_part_whole_words(text, word): pattern = re.compile(r'\b' + re.escape(word) + r'\b') matches = list(pattern.finditer(text)) if not matches: return text first_start = matches[0].start() last_end = matches[-1].end() return text[first_start:last_end] Что мне нужно от вас - Пришлите фрагмент текста и само любимое слово Локи. - Если нужно учитывать регистр или считать слова строго целыми (через границы слов), скажите, и я подстрою решение под это требование. Готов приступить сразу после того как вы пришлёте текст и слово.