def BinarySearch(list1, num):
min = 0 # 最小的下标
max = len(list1) - 1 # 最大的下标
i = 0
while True:
i += 1
mid = (max + min) // 2 # 中间的下标每次向下取整
if num > list1[mid] :
min = mid + 1 # 小于需要的猜的数,则将最小下标变为中间的,又因为中间的已经猜过,所以要加1
elif num == list1[mid] :
print("找到数据")
print("一共查找%d次"%i)
break
else :
max = mid - 1 # 大于需要的猜的数,则将最大下标变为中间的,又因为中间的已经猜过,所以要减1
if __name__ == "__main__":
list1 = [i for i in range(0,100)]
num = 5
BinarySearch(list1, num)
程序入口
对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main