灵虚御风
醉饮千觞不知愁,忘川来生空余恨!

导航

 
# 算法:解决问题的高效率的方法
l = [1,3,5,12,57,89,101,123,146,167,179,189,345]

# num = 345
# for i in l:
# if num == i:
# print('fint it')

# 二分法:容器类型里面的数字必须有大小顺序
target_num = 666
def get_num(l,target_num):
if not l:
print('你给的工资 这个任务怕是没法做')
return
# 获取列表中间的索引
print(l)
middle_index = len(l) // 2
# 判断target_num跟middle_index对应的数字的大小
if target_num > l[middle_index]:
# 切取列表右半部分
num_right = l[middle_index + 1:]
# 在递归调用get_num函数
get_num(num_right,target_num)
elif target_num < l[middle_index]:
# 切取列表左半部分
num_left = l[0:middle_index]
# 再递归调用get_num函数
get_num(num_left, target_num)
else:
print('find it', target_num)

get_num(l,target_num)

posted on 2022-03-24 15:17  没有如果,只看将来  阅读(17)  评论(0编辑  收藏  举报