每次都将“a”设为“none”。如果元素(即key)出现在列表中,我将增加c的值,然后返回它。但为什么我没有得到答案。请注意:列表已排序
list=[1,2,2,4,6,7,8,8,9]
def binarysearch(list,key,s,e,c):
if(s<=e):
mid=int((s+e)/2)
if (key<list[mid]):
binarysearch(list,key,s,mid,c)
elif list[mid]==key:
c=c+1
return c
else:
binarysearch(list,key,mid+1,e,c)
else:
return c
key=2
a=binarysearch(list,key,0,len(list)-1,0)
print(a)
实际上,您忘记了返回每个函数调用的结果。 您只需在代码中添加return语句,否则这里就是我的代码。你知道吗
必须始终返回递归的结果:
以及
毫无疑问,这是一个家庭作业,但万一您真的需要它,那么stdlib^{} 模块中就提供了这个功能。你知道吗
每次当你有一个函数并且不告诉他们返回一些东西时,在这种情况下:
以及
你一个字也拿不回来
相关问题 更多 >
编程相关推荐