Предмет: Информатика, автор: elfoxleo

Поиск подстроки. Пайтон.

Даны 2 строки. Необходимо найти индекс второго вхождения искомой строки в строке для поиска.

Разберем самый первый пример, когда необходимо найти второе вхождение "s" в слове "sims". Если бы нам надо было найти ее первое вхождение, то тут все просто: с помощью функции index или find мы можем узнать, что "s" – это самый первый символ в слове "sims", а значит индекс первого вхождения равен 0. Но нам необходимо найти вторую "s", а она 4-ая по счету. Значит индекс второго вхождения (и ответ на вопрос) равен 3.

Строка, которую нужно найти, может состоять из нескольких символов.
Input: Две строки (String).
Output: Int or None

Примеры:
second_index("sims", "s") => 3
second_index("find the river", "e") => 12
second_index("hi", "h") => None

Ответы

Автор ответа: Nick935
1

Решение:

def second_index(world, string):

return None if world.count(string) < 2 or len(string) > 1 else world.replace(string, ' ', 1).index(string)

# Возвращаем None если введённая строка string встречается в слове 1 раз и если длина введённой строки string больше 1. В противном случаем возвращаем индекс второго вхождения строки string (первое вхождение заменяем на ' ')

world = input()

string = input()

second_index(world, string)

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