关于python在字符串中查找隐藏的英文单词
问题描述:
我这个地方想做一个在字符串中查找隐藏单词,意思就是比如说在“zyxwvutsrqponmlkjohgfodcba”这串中,查找一个“wrong”,我的目标就是查找到这个词,但是因为有两个“o”,python做不到,我就想请教一下,怎么修改代码才能解决?
就是像第一张图,因为结果是wronogo,所以不行
答
string='wronog' #待找的字符串
word='wrong' #要找到的单词
result=[] #用来存结果
index=0 #位置
for w in word: #遍历
i=string.find(w,index) #从index位置开始往后找
if i>=0: #如果找到了
index=i+1 #更新index,从找到的字母往后继续找,不要回头找
result.append(i) #把位置加入列表
else: #没找到
print(word,"not found")
break
if len(result)==len(word): #找到的数量和单词字母数量一致,说明找全了
print(word,"is in",result)
这个逻辑里面,word里的字母是可以重复的。