0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 17

Поиск подстроки в Python 3

18.10.2019, 20:59. Показов 3897. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Очень прошу оказать помощь в решении задачи по Python 3.
На вход подаются две строки: текст T и слово W.
Если слово входит в текст один раз, то распечатайте индекс символа из T, с которого W начинается в тексте.
Если в T есть два или более не накладывающихся друг на друга вхождения строки W, распечатайте индексы символов, с которых начинаются самое первое и самое последнее вхождения.
Если W не содержится в T распечатайте слово None.

Формат ввода
Две строчки. На первой записан текст T. На второй записано слово W.

Формат вывода
Ожидается один из трех вариантов:
1. Одно целое число.
2. Два целых числа, записанных через пробел.
3. Слово None.

Примечания
Для поиска последнего вхождения слова W в текст T используйте метод str.rfind(). Метод str.rfind() работает также, как и str.find(), но ищет подстроку, начиная конца.

Пример
Ввод
Hello, Vasya! Vasya is good name.
Vasya

Вывод
7 14
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2019, 20:59
Ответы с готовыми решениями:

Поиск подстроки
здравствуйте, у меня есть в строке текст: edmnchislo;1данныедействие;2данныедействий;\n ...

Поиск подстроки
Напишите программу, которая находит кота. Пользователь вводит сначала количество строк, потом сами строки. Если хотя бы в одной введённой...

Поиск подстроки
Уважаемые форумчане, кодеры, кто может написать мне код на этом примере; Поиск подстрок. Вызов s.find(s1) в случае обнаружения в...

8
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
18.10.2019, 21:31
str2605,
Цитата Сообщение от str2605 Посмотреть сообщение
Для поиска последнего вхождения слова W в текст T используйте метод str.rfind(). Метод str.rfind() работает также, как и str.find(), но ищет подстроку, начиная конца
В примечании уже написано решение.
0
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
18.10.2019, 21:37
Сначала указываете текст(1 параметром функции), а потом подстроку(2 параметр)
Python
1
2
3
4
5
6
7
8
9
10
11
12
def rindex2(text, sub):
    txt = text.split(sub)
    out = []
    if len(txt)==1:
        return None
    elif len(txt)==2:
        return text.index(txt[0]) + len(txt[0])
    else:
        for i in txt:
            if i != txt[len(txt)-1]:
                out.append(text.index(i) + len(i))
        return out
0
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 17
18.10.2019, 21:50  [ТС]
Спасибо, но в решении выдает ошибку
0
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
18.10.2019, 21:53
Какую именно ошибку?
0
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
18.10.2019, 21:58
У меня все номально работает (Python 3.5 Linux Ubuntu 16.04 LTS)
Миниатюры
Поиск подстроки в Python 3  
0
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 17
18.10.2019, 22:05  [ТС]
Вот что у меня выходит
Миниатюры
Поиск подстроки в Python 3  
0
36 / 21 / 9
Регистрация: 17.10.2019
Сообщений: 95
18.10.2019, 22:09
Попробуйте так
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
sub = input()
text = input()
txt = text.split(sub)
out = []
if len(txt)==1:
    print(None)
elif len(txt)==2:
    print(text.index(txt[0]) + len(txt[0]))
    else:
        for i in txt:
            if i != txt[len(txt)-1]:
                out.append(text.index(i) + len(i))
        print(out)
0
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 17
18.10.2019, 22:34  [ТС]
к сожалению опять неверный ответ выдает

Добавлено через 16 минут
Нужно как-то через: для поиска последнего вхождения слова W в текст T используйте метод str.rfind(). Метод str.rfind() работает также, как и str.find(), но ищет подстроку, начиная конца.

Добавлено через 2 минуты
решение
Python
1
2
3
4
5
6
7
s = input()
ss = input()
a = s.find(ss)
b = s.rfind(ss)
if not ss in s: print('None')
elif a==b: print(a)
else: print(a, b)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2019, 22:34
Помогаю со студенческими работами здесь

Поиск строки со значением первой подстроки и вывод значения её второй подстроки
Здравствуйте! Пытаюсь реализовать скрипт. Суть задумки скрипта сравнительно проста. На первом этапе считывается MAC адрес...

Поиск подстроки внутри данной строки, замена найденной подстроки на другую строку
Выполнить поиск подстроки внутри данной строки,замену найденной подстроки на другую строку Пример Исходная строка: aaaabbbaaa ...

Произвести поиск подстроки, если такой подстроки нет, то данную подстроку ввести в начало исходной строки
помогите, пожалуйста, в написании программы: Ввести строку из произвольного числа символов и произвести в ней поиск подстроки COMPUTER....

Поиск подстроки в строке и вывод подстроки
Удалите пожалуйста, разобрался

Заменить во введенном выражении все подстроки А на подстроки В и подстроки В на А
Программа со строками. Составить программу, заменяющую во введенном выражении все подстроки А на подстроки В и подстроки В на А. А=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru