我是python新手,一直在解决问题,尝试学习一些编程。我的问题是这个程序的第二个功能。我希望程序返回的是要查找的子字符串在输入字符串中的每个位置。你知道吗
即
multifind("Ni! Ni! Ni! Ni!", "Ni", 0, 20)
应该返回"0,4,8,12"
但是,当我在IDE中运行这个程序时,程序运行但不返回任何结果。我想知道是否有人可以告诉我在哪里/什么程序,是造成这一点? 最好是以初学者能理解的方式。你知道吗
def find(input_string, substring, start, end):
x = (len(substring))
for i in range(0, len(input_string)):
if input_string[i:(i+x)] == substring:
return i
else:
i += 1
return -1
def multi_find(input_string, substring, start, end):
loop = True
nulist = ""
r = start - 1
while loop:
r = find(input_string,substring, r + 1, end)
if r != -1:
if nulist == "":
nulist += str(r)
else:
nulist += "," + str(r)
else:
loop = False
return nulist
如果在“查找”中未使用“开始”,请尝试:
我知道这并不完全是你想要的,但我会张贴一个线性函数为这个使用常规表达式
这将在子字符串中查找所有输入字符串第一个索引匹配项,并将其作为列表返回。你知道吗
相关问题 更多 >
编程相关推荐