def binary_search(data_source,find_n):
mid = int(len(data_source)/2)
if len(data_source)>1:
if data_source[mid] >= find_n : #date in left
print("data in left of [%s]" %data_source[mid])
binary_search(data_source[:mid],find_n)
elif data_source[mid] < find_n : #date in right
print("data in right of [%s]" %data_source[mid])
binary_search(data_source[mid:],find_n)
else:
print("found finds,",data_source[mid])
if __name__ == '__main__':
data = list(range(1,10000))
print(data)
binary_search(data,22)
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/admin/PycharmProjects/s18/day3/二分法.py
data in left of [5000]
data in left of [2500]
data in left of [1250]
data in left of [625]
data in left of [313]
data in left of [157]
data in left of [79]
data in left of [40]
data in right of [20]
data in left of [30]
data in left of [25]
found finds, 22