Commit 9b7aa127 by BellCodeEditor

save project

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