Я пытаюсь вручную написать функцию Python string in
для назначения. Используя этот код, где s
- строка, а t
- подстрока, которую я пытаюсь найти:
def test(s, t):
stidx = 0
while stidx < len(s):
idx = 0
for i in s[stidx:]:
if idx < len(t):
if t[idx] == i:
idx += 1
continue
else:
break
if idx == len(t):
return True
stidx += 1
return False
Приведенный выше код работает, за исключением случаев, когда я проверяю подстроку в самом концеслово (например, s = 'happy'
и t = 'py'
). Если я добавлю произвольный символ в конец s
, это будет работать. Почему это?