版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
def BF(s1,s2,pos = 0):
i = pos
j = 0
while(i<len(s1) and j<len(s2)):
if(s1[i]==s2[j]):
i+=1
j+=1
else:
i = i-j+2
j=0
if(j>=len(s2)):
return i-len(s2)
else:
return 0
if __name__ == '__main__':
s1=input("输入第一个字符串:")
s2=input("输入第二个字符串:")
print("两个字符串从第'%s'位开始匹配" % (BF(s1,s2)+1))
因为BF(s1,s2,pos=0)返回的是光标,所以在输出的时候要加一