此代码只是会在另一个字符串的字符串,并返回搜索字符串的次数的上次位置或-1,如果它没有找到。
我不明白为什么我的变量next_y
没有更新考虑到pos
是一个投入的计算next_y
。 我想到的是,如果我更新pos
然后next_y
也应该更新。 相反, pos
被更新,永远留在循环。
def find_last(x,y):
if x.find(y) == -1:
return -1
pos = x.find(y)
next_y = x.find(y, pos + 1)
while next_y != -1:
pos = pos + next_y
return pos
search = 'tom ran up but tom fell down'
target = 'tom'
print(find_last(search,target))