Commit 8776b219 by BellCodeEditor

save project

parent fc21cbc0
Showing with 24 additions and 17 deletions
# 使用二分查找法,找出9和20在列表里面的索引 import random
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21]
bingo_num = 17
low = 0
high = len(num_list) - 1
while low <= high: alist = []
mid = (low+high) // 2 for i in range(1,101):
guess_num = num_list[mid] alist.append(i)
if guess_num == bingo_num: num = random.choice(alist)
print('找到了,它在列表中的索引是:',mid)
break def binary_search(alist,num):
elif guess_num < bingo_num: low = 0
low = mid + 1 high = len(alist) - 1
elif guess_num > bingo_num: while low <= high:
high = mid - 1 mid = (low+high) // 2
print(mid) guess_num = alist[mid]
\ No newline at end of file if guess_num == num:
return mid
elif guess_num < num:
low = mid + 1
elif guess_num > num:
high = mid - 1
return None
result = binary_search(alist,num)
print('老师给的数是:',num)
print('它在列表中的索引是:',result)
\ 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