相关疑难解决方法(0)

二进制搜索python奇怪的行为

请看这段代码:

def chop(array, search):
        lo = 0
        high = len(array) - 1
        while lo <= high:
                mid = (high + lo) /2
                if array[mid] == search:
                        return 'true'
                elif search > array[mid]:
                        low = mid + 1
                else:
                        high = mid - 1
        return 'false'



if __name__ == '__main__':
        a = [1,2,3,4,5,6,7,8,9,10]
        print chop(a, 3)
Run Code Online (Sandbox Code Playgroud)

我写了这个小脚本,它应该在数组中搜索数字 - 常规二进制搜索.所以我运行脚本,例如当我输入时chop(a, 1)我得到了真实,当我输入时chop(a, 2)我得到了真实,但是当我放入时chop(a, 3)我没有得到答案,只是Python Shell中的空行.

有没有人知道发生了什么?

python binary-search

2
推荐指数
1
解决办法
215
查看次数

标签 统计

binary-search ×1

python ×1