Commit 8776b219 by BellCodeEditor

save project

parent fc21cbc0
Showing with 21 additions and 14 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 = []
for i in range(1,101):
alist.append(i)
num = random.choice(alist)
def binary_search(alist,num):
low = 0
high = len(alist) - 1
while low <= high:
mid = (low+high) // 2 mid = (low+high) // 2
guess_num = num_list[mid] guess_num = alist[mid]
if guess_num == bingo_num: if guess_num == num:
print('找到了,它在列表中的索引是:',mid) return mid
break elif guess_num < num:
elif guess_num < bingo_num:
low = mid + 1 low = mid + 1
elif guess_num > bingo_num: elif guess_num > num:
high = mid - 1 high = mid - 1
print(mid) return None
\ No newline at end of file
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