我是新来的。今天我尝试用python实现二进制搜索算法,使用编辑器Sublime。但为什么我的控制台上没有显示结果,因为它应该是“1”?我检查了我的代码,没有发现任何错误。我现在真的很困惑。如果你能帮忙,非常感谢
def binary_search(list,item):
low=0
high=len(list)-1
while low<=high:
mid=(low+high)/2
guess=list[mid]
if guess==item:
return mid
elif guess>item:
high=list[mid]-1
else:
low=list[mid]+1
return None
my_list=[1,3,5,7,9]
print binary_search(my_list,3)
high
和low
应该包含索引,但在猜测失败后更新它们时,将它们设置为列出元素而不是索引。应该是:相关问题 更多 >
编程相关推荐