import time
flag = True
def timer_out(flag):
def timer(f):
def inner(*args,**kwargs):
if flag:
start = time.time()
ret = f(*args,**kwargs)
print("耗时:%s"%(time.time() - start))
return ret
else:
ret = f(*args, **kwargs)
return ret
return inner
return timer
@timer_out(flag)
def binary_search(iter_obj,search_data):
high = len(iter_obj) - 1
low = 0
cnt = 1
while low <= high:
middle = (low+high) // 2
print(f"{high},{middle},{low}")
if iter_obj[middle] == search_data:
return cnt
elif iter_obj[middle] > search_data:
high = middle - 1
else:
low = middle + 1
cnt += 1
else:
return "no_match"
ret = binary_search(range(100),111)
print(ret)
@timer_out(flag)
def fun(iter_obj,s_data):
cnt = 0
for i in iter_obj:
if i == s_data:
return cnt
cnt += 1
else:
return "no_match"
ret = fun(range(100),111111111)
print(ret)