我试图写一个代码,找到子字符串的位置,给定一个字符串。我相信在循环中有一些问题,它是一个无限循环
string="ABCDCDC"
sub_str="CDC"
i=0
while i<len(string):
if sub_str in string:
i=string.find(sub_str,i)
print("Position is {}".format(i))
else:
break
i+=1
我得到的实际输出:
Position is 2
Position is 4
Position is -1
Position is 2
Position is 4
Position is -1
Position is 2
Position is 4
Position is -1
预期产量:
Position is 2
Position is 4
你正在覆盖“i”,因此它就变成了一个无限循环。其次,您可以使用一个列表来保存索引的引用(满足您的成功标准),以避免重新打印索引以及-1
相关问题 更多 >
编程相关推荐