Top.Mail.Ru
Ответы

Наивный алгоритм (первое вхождение). Python. Нужна помощь!

По дате
По рейтингу
Аватар пользователя
Новичок

def find(p, t):
comparisons = ''
for i in range(len(t) - len(p) + 1):
found = True
for j in range(len(p)):
comparisons += p[j]
if t[i + j] != p[j]:
found = False
break
if found:
return comparisons, i + 1
return comparisons, 0

p, t = input(), input()
result = find(p, t)
print(*result, sep='\n')

Аватар пользователя
Оракул

Задание чудацкое, и метод чудацкий.
правильный метод
ищем в строке первый символ подстроки. это быстро.
найдя - сравниваем последний символ подстроки. если совпадают, сравниваем внутренние.
это гораздо быстрее.