Commit 33dfa81f by BellCodeEditor

save project

parent 14766171
Showing with 19 additions and 14 deletions
# 使用二分查找法,找出9和20在列表里面的索引 # 使用二分查找法,找出9和20在列表里面的索引
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21] import random
low = 0 num_list = []
high = len(num_list)-1 for i in range(1,101):
bingo_num = 9 num_list.append(i)
while True: num = random.choice(num_list)
def binary_search(num_list,num):
low = 0
high = len(num_list)-1
while True:
mid = (low + high)//2 mid = (low + high)//2
guess = num_list[mid] guess = num_list[mid]
if low <= high: if low <= high:
if guess == bingo_num : if guess == num :
print("找到了,它在列表的索引位置为:",mid) return mid
break elif guess < num:
elif guess < bingo_num:
low = mid + 1 low = mid + 1
elif guess > bingo_num: else :
high = mid - 1 high = mid - 1
else: return None
print("该数字不在本列表当中") a = binary_search(num_list,num)
exit() print("老师给出的数是:",num)
\ No newline at end of file print("它在列表的索引位置为:",a)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment