def binary_search(list, item):
low = 0
high = len(list)-1
n = 0
while low <= high:
mid = int((low + high)/2)
guess = list[mid]
n += 1
if list[mid]==item:
print(n)
return mid
if list[mid]<item:
low = mid + 1
else:
high = (mid-1)
return None
m=[1,2,3,4,8,9,11,12,14,18,19,20,28]
print(binary_search(m,14))
输出 比较次数 位置(从0开始)
1.return用法
while low <= high:
mid = int((low + high)/2)
guess = list[mid]
n += 1
if list[mid]==item:
print(n)
return mid
if list[mid]<item:
low = mid + 1
else:
high = (mid-1)
return None
2.pycharm缩进
tab 右缩进
shift+tab 左缩进
错误会以波浪线下划线提示,否则会报错!