Commit bb37b6db by BellCodeEditor

save project

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