二分查找。

li = [i for i in range(1,101)]
start_index = 0
end_index = len(li)-1
num = int(input('您要找的数是:')
while start_index <= end_index :
    mid_index = (start_index + end_index)//2
    if li[mid_index] ==38 :
        print('您找到了')
        break
    elif li[mid_index] > 38:
        end_index = mid_index -1
    elif li[mid_index]< 38:
        start_index = mid_index +1
else:
    print('很遗憾没有找到')
#函数改写
def binarysearch(l1,num):
    start_index = 0
    end_index = len(l1)-1
    while start_index<=end_index:
        mid_index = (start_index+end_index)//2
        if l1[mid_index] == num:
            return mid_index
        elif l1[mid_index] > num:
            end_index = mid_index - 1
        else:
            start_index = mid_index+1

    return -1

 

posted @ 2020-07-13 11:21  kaiyaoweixiao  阅读(133)  评论(0)    收藏  举报