Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 9, 2023 21:10:56

Hecate1988
Зарегистрирован: 2023-02-07
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск подстроки.Помогите разобраться

Функция 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’

Офлайн

#2 Фев. 9, 2023 23:54:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9863
Репутация: +  853  -
Профиль   Отправить e-mail  

Поиск подстроки.Помогите разобраться

  
>>> 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'
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version