# -*- coding: utf-8 -*-
import numpy as np
# 二分法查找
def my_work(list, number):
n = 0
low = 0
high = len(list)-1
try:
while low <= high:
mid = int((low+high)/2)
guss = list[mid]
if guss == number:
return mid, n
if guss > number:
high = mid - 1
else:
low = mid + 1
n += 1
except Exception as e:
print(e)
if __name__ == '__main__':
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print('row data:{}\nlength of data:{}'.format(x, len(x)))
print('Please input the number that you want to know : ')
y = input()
temp = my_work(x, int(y))
try:
print('查找到{}在数据中的位置(索引)为{},查找步数为{}步'.format(y, temp[0],
temp[1]))
except Exception as e:
print('This number is not in the data!\n', e)
我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼都飘散如烟,我曾经失落失望失掉所有方向,直到看见平凡才是唯一的答案。
——韩寒《平凡之路》