Commit 948b89ba by BellCodeEditor

save project

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