0
点赞
收藏
分享

微信扫一扫

Python二分查找

Mezereon 2022-03-21 阅读 29
python
ls1=[1,2,3,5,8,9,12,14,15,16,18,21,25,26,30,34,35,45,60,66,78,90]
value = int (input("Enter your number to research: " ))
low = 0
high = len(ls1)-1
while(low <= high):
    mid= (low+high)//2
    if(value == ls1[mid]):
        print("Find it in ",mid)
        break
    if(value < ls1[mid]):
        high = mid - 1
    else:
        low = mid + 1
else:
    print("Not Found!")
    
            
    
        

一定要注意while的条件,如果在这个程序的逻辑里面

必须是while low <=high

否则会存在这样一种情况:low==high此时意味着可能正好找到那个元素,但是不在while里面

然后就会跳出while循环,导致出错没有找到那个对应的元素

举报

相关推荐

0 条评论