我是新手到Python。在练习我试图运行下面的代码:
def my_find(haystack,needle):
for index,letter in enumerate(haystack):
if letter==needle:
return index
return -1
print(my_find("banana","a"))
其结果是-1,这是不是我的预期。我怎样才能使其正常工作?
如果你想找到所有的针,并得到它返回一个列表,这样用:
def my_find(haystack,needle):
matches=[]
for index,letter in enumerate(haystack):
if letter==needle:
matches.append(index)
return matches
在评论这是正确地指出,第二return语句是放错了地方。
请外面返回值循环
def my_find(haystack,needle):
for index,letter in enumerate(haystack):
if letter==needle:
return index
return -1
print(my_find("banana","a"))
正确的代码应该是 -
def my_find(haystack,needle):
for index,letter in enumerate(haystack):
if letter==needle:
return index
return -1
print(my_find("banana","a"))
回报应是“为”外块。