- 二分查找
-
# _*_coding:utf-8_*_ def list_number(in_list, number): s_number = 0 d_number = len(in_list) - 1 if number in in_list: while True: mid = (d_number + s_number) // 2 if in_list[mid] == number: return "数值%s在列表的第%s个" % (number, mid) elif in_list[mid] > number: d_number = mid - 1 elif in_list[mid] < number: s_number = mid + 1 else: print("没有该数值") if __name__ == '__main__': a = list((i + 2)*2 for i in range(14)) print(a, len(a)) while True: i = input(">>:") if i == "exit": break else: print(list_number(a, int(i))) [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30] 14 >>:14 数值14在列表的第5个