Форум сайта python.su
Функция second_index принимает в качестве параметров 2 строки. Вам необходимо найти индекс второго вхождения искомой строки в строке для поиска.
Разберем самый первый пример, когда необходимо найти второе вхождение “s” в слове “sims”. Если бы нам надо было найти ее первое вхождение, то тут все просто: с помощью функции index или find мы можем узнать, что “s” – это самый первый символ в слове “sims”, а значит индекс первого вхождения равен 0. Но нам необходимо найти вторую “s”, а она 4-ая по счету. Значит индекс второго вхождения (и ответ на вопрос) равен 3.
Строка, которую нужно найти, может состоять из нескольких символов.
Input: Две строки (String).
Output: Int or None
Примеры:
assert second_index(“sims”, “s”) == 3, ‘Test1’
assert second_index(“find the river”, “e”) == 12, ‘Test2’
assert second_index(“hi”, “h”) == None, ‘Test3’
assert second_index(“Hello, hello”, “lo”) == 10, ‘Test4’
Офлайн
>>> def second_index(source, pattern): ... out = None ... index1 = source.find(pattern) ... if index1 >= 0: ... index2 = source.find(pattern, index1 + 1) ... if index2 >= 0: ... out = index2 ... return out ... >>> assert second_index('sims', 's') == 3, 'Test1' >>> assert second_index('find the river', 'e') == 12, 'Test2' >>> assert second_index('hi', 'h') == None, 'Test3' >>> assert second_index('Hello, hello', 'lo') == 10, 'Test4' >>>
Офлайн