判断近似字符串(相差一个字符)

要求:写一个函数用于判断两个字符串中任意一个字符串,是否可以通过增删改操作变成另一个字符串,结果返回Boolean
示例:
aaas与aaa 返回 True
asaa与aa 返回 False
args与argt 返回 True
arg与args 返回 True
【判断近似字符串(相差一个字符)】以下为自己用简单语法写的判断方法,用博客记录以下:

def isStringAlike(str1,str2): """ 函数功能:判断两个字符串中任意一个字符串, 是否可以通过增删改操作变成另一个字符串, 结果返回Boolean """ count = 0 temp = '' #始终保持str1为两字符串中的长串 #temp用于占位,可以设置为任意字符 if len(str1) < len(str2): str1, str2 = str2, str1 temp = '-' if len(str1) > len(str2): temp = '-' #避免短字符串索引越界 str2 = str2 + '-' #循环遍历长字符串 for i in range(len(str1)): if str1[i] == str2[i]: count += 1 else: #重新拼接字符串 str2 = str2[:i]+temp+str2[i:] #判断两字符串是否为近似串,返回值为布尔类型 if len(str1) == count + 1: return True else: return Falseif __name__ == '__main__': str1 = 'snapchat' str2 = 'snapchat5' res = isStringAlike(str1,str2) print(res)

    推荐阅读