暴力法實現BF算法:模式串匹配

一. 代碼


def find_chuan(s1,s2):
    length1 = len(s1)
    length2 = len(s2)
    lis = []
    index = 0
    for i in range(length1):
        if length1 - i < length2:
            break
        index = i
        for j in range(length2):
            if s1[index] == s2[j]:
                index+=1
            elif s1[index] != s2[j]:
                break

            if index == i+length2:
                lis.append(i)
    return lis

if __name__ == '__main__':
    print("輸入一行原串: ")
    s1 = input()
    print("原串s1的長度是%s,內容是:%s"%(len(s1),s1))
    print("請輸入一行子串: ")
    s2 = input()
    print("子串s2的長度是%s,內容是:%s"%(len(s2),s2),'\n')
    lis = find_chuan(s1,s2)
    print("查找結果: ")
    for i in range(len(lis)):
        print("在原串的%s位置找到子串"%lis[i])

二. 運行結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章