使用python进行递归二进制搜索

时间:2018-03-08 14:30:36

标签: python python-2.7 recursion

在comp sci类中编写了这段代码,我无法使用它。它应该是一个递归的二进制搜索方法......任何想法为什么我不能让它工作?

 arr = [1,10,12,15,16,122,132,143,155]

def binarysearch(arr,num):
    arr2 = []
    for i in range (len(arr)/2):
        arr2.append(0)
    if (arr[len(arr)/2]>num):
        for x in range (len(arr)/2,len(arr)):
            arr2[x-(len(arr)/2)]=arr[x]
        binarysearch(arr2,num)
    if(arr[len(arr)/2]<num):
        for x in range(0, len(arr) / 2 ):
            arr2[x] = arr[x]
        binarysearch(arr2, num)
    if(len(arr)==1):
        if(arr[0]==num):
            return 1
        else:
            return 0


num = raw_input("put number to check here please: ")
if(binarysearch(arr,num)==1):
    print "true"
else:
    print "false"

0 个答案:

没有答案