1. 程式人生 > 遊戲 >講述車輪上的故事,《極限競速:地平線5》任務線引人入勝

講述車輪上的故事,《極限競速:地平線5》任務線引人入勝

 1 # 為了返回找到列表的下標,故而攜帶兩個引數
 2 def binary_search(num, my_list, left, right):
 3     if left == right:
 4         return left if my_list[left] == num else f'沒找到{num}'
 5     mid = (right+left) // 2
 6     mid_num = my_list[mid]
 7     if num == mid_num:
 8         return mid
 9     elif num > mid_num:
10 return binary_search(num, my_list, mid+1, right) 11 else: 12 return binary_search(num, my_list, left, mid-1) 13 14 15 # 二分查詢的迴圈實現 16 def while_binary_search(num, lis): 17 left = 0 18 right = len(lis) - 1 19 while True: 20 if left == right: 21 return
left if lis[left] == num else f'沒找到{num}' 22 mid = (left+right) // 2 23 mid_num = lis[mid] 24 if mid_num == num: 25 return mid 26 elif mid_num > num: 27 right = mid - 1 28 else: 29 left = mid + 1 30 31 32 if __name__ == '
__main__': 33 my_list = [0, 1, 5, 7, 10, 11, 15, 18, 19] 34 # print(binary_search(10, my_list, 0, len(my_list)-1)) 35 print(while_binary_search(15, my_list))