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循环,导致出错没有找到那个对应的元素