Commit bb37b6db by BellCodeEditor

save project

parent f82f4438
Showing with 19 additions and 33 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=[]
for i in range(1,101):
alist.append(i)
num = random.choice(alist)
def binary_search(alist,num):
low = 0
hight = len(alist)-1
while True:
mid=(low+hight)//2 mid=(low+hight)//2
guess=num_list[mid] guess=alist[mid]
if guess == n: if guess == num:
print('9的是',mid) print(num,' is ',mid)
break break
if hight < low: elif guess < num:
print('there is no 9') low = low+ 1
break
if guess < n :
low = mid +1
else: else:
hight = mid-1 hight = hight+1
low=0
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: if hight < low:
print('there is no 20') print('there is no ' , num)
break break
if guess < n :
low = mid +1 binary_search(alist,num)
else: \ No newline at end of file
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