Commit bb37b6db by BellCodeEditor

save project

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