Commit 76d6ee26 by BellCodeEditor

save project

parent 81074b4b
Showing with 23 additions and 18 deletions
# 使用二分查找法,找出9和20在列表里面的索引 import random
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21]
bingo_num = 8 #要找的数 alist = []
low = 0 #左边索引 for i in range(1,101):
high = len(num_list)-1 #右边索引 alist.append(i)
num = random.choice(alist)
while low <= high: #条件循环
mid = (low+high) // 2 #中间索引 def binary_search(alist,num):
guess_num = num_list[mid] #列表的中间索引对应的数给一个变量 low = 0
if guess_num == bingo_num: #猜的=找 high = len(alist)-1
print("找到了,索引是:",mid) #找到 while low <= high: #条件循环
break #跳出 mid = (low+high) // 2 #中间索引
elif guess_num < bingo_num: #猜的<找 guess_num = num_list[mid] #列表的中间索引对应的数给一个变量
low = mid+1 #变最小 if guess_num == bingo_num: #猜的=找
elif guess_num > bingo_num: #猜的>找 print("找到了,索引是:",mid) #找到
high = mid-1 break #跳出
elif guess_num < bingo_num: #猜的<找
low = mid+1 #变最小
elif guess_num > bingo_num: #猜的>找
high = mid-1
return None
print("数是:",binary_search)
print("索引是:",result)
......
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