二進制搜索我有編號列表0-9:遞歸在Python
mylist = list(range(10))
我得到一個錯誤與分工命令來獲得mid
:
def binary_search(mylist, element, low, high):
low=0
high= len(mylist)
mid=low + (high- mymin)/2
if mid==len(mylist):
return False
elif mylist[mid]==element:
return mid
elif high==low:
return False
elif mylist[mid]<element:
return binary_search(mylist, element, mymin, mid-1)
elif mylist[mid]<element:
return binary_search(mylist, element, mid+1, mymax)
else:
return mid
,如果我想要返回True
我該如何在return binary_search(mylist, element, mymin, mid-1)
之上編寫?
第一個不能是實際的代碼,因爲'list(mid)'會引發一個'TypeError:'列表'對象不可調用'。如果您希望我們調試您的代碼,您必須向我們展示實際演示該問題的代碼,而不僅僅是模糊的類似代碼。 – abarnert
作爲一個附註,'list','max'和'min'都是變量的壞名字,因爲它們是您可能想要使用的內置函數的名稱。 – abarnert