"""""""""算法之二分法:1: 算法 解决问题的高效方法 f = [1,3,4,5,6,7,8,9] 我想取出这个最大的数字9怎么取出是不是可以通过for循环取出来 如:num = 9 for i in f: 注释: 通过for循环吧f的值一个一个的给i if num==i: 如果当i==9时 那么print 打印findit 表示找到了 print("find it")二:二分法 容器类型里面的数字必须有大小顺序"""f = [1,3,4,5,6,7,8,9]num = 10def get_num(f,num): if not f: print("你说输入的找不到") return print(f) middle_index = len(f) // 2 # 判断num跟middle_index对应的数字的大小 if num > f[middle_index]: # 切取列表右半部分 num_right = f[middle_index + 1:] # 再递归调用get_num函数 get_num(num_right, num) elif num < f[middle_index]: # 切取列表左半部分 num_left = f[0:middle_index] # 再递归调用get_num函数 get_num(num_left, num) else: print('find it', num) 通过切分 吧 列表的值 从中间劈开 然后判断 是否在里面 看是在左边还是在右边 然后重复这样的操作 即可 从而达到最后的目的