关于蟒蛇查找()函数问题

问题描述 投票:0回答:3

我是新手到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,这是不是我的预期。我怎样才能使其正常工作?

python python-3.x
3个回答
0
投票

如果你想找到所有的针,并得到它返回一个列表,这样用:

def my_find(haystack,needle):
    matches=[]
    for index,letter in enumerate(haystack):
        if letter==needle:
            matches.append(index)
    return matches

在评论这是正确地指出,第二return语句是放错了地方。


0
投票

请外面返回值循环

def my_find(haystack,needle):
    for index,letter in enumerate(haystack):
        if letter==needle:
            return index
    return -1
print(my_find("banana","a"))

0
投票

正确的代码应该是 -

def my_find(haystack,needle):
    for index,letter in enumerate(haystack):
        if letter==needle:
            return index
    return -1
print(my_find("banana","a"))

回报应是“为”外块。

© www.soinside.com 2019 - 2024. All rights reserved.