我是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,这不是我期望的。如何使其正常工作?
答案 0 :(得分:0)
请在循环外返回该值
def checkIfDesc(self, person):
return any(families[family].famDescendant(person) for family in self.marriages)
答案 1 :(得分:0)
如果要查找所有针并将其作为列表返回,请使用此方法:
def my_find(haystack,needle):
matches=[]
for index,letter in enumerate(haystack):
if letter==needle:
matches.append(index)
return matches
在评论中正确地指出了第二个return语句在错误的位置。
答案 2 :(得分:0)
正确的代码应为-
def my_find(haystack,needle):
for index,letter in enumerate(haystack):
if letter==needle:
return index
return -1
print(my_find("banana","a"))
返回值应在“ for”块之外。