Commit de742334 by BellCodeEditor

save project

parent adaf6f8a
Showing with 56 additions and 2 deletions
# 使用二分查找法,找出9和20在列表里面的索引
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21]
def chazaho(s):
guess=0
high=len(num_list)
mid=0
aaa=s
while not (mid>high or num_list[guess]==aaa):
guess=(high+mid)//2
if aaa>guess:
mid=guess-1
elif aaa<guess:
high=guess-1
else:
pass
if mid>high:
return "找不到"
else:
return "索引是"+str(guess)
print(chazaho(20))
print(chazaho(9))
\ No newline at end of file
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21]
bingo_num=9
low=0
high=len(num_list)-1
while low<=high:
mid=(low+high) // 2
guess_num=num_list[mid]
if guess_num==bingo_num:
print("找到了,他在列表里的索引是",mid)
break
elif guess_num < bingo_num:
low=mid+1
elif guess_num>bingo_num:
high=mid-1
\ No newline at end of file
......@@ -6,4 +6,19 @@ for i in range(1, 101):
num = random.choice(alist)
# 请完善二分查找函数binary_search(),查找出num在列表alist里面的索引位置
def binary_search(alist,num):
\ No newline at end of file
def binary_search(alist,num):
bingo_num=num
low=0
high=len(alist)-1
while low<=high:
mid=(low+high) // 2
guess_num=alist[mid]
if guess_num==bingo_num:
print("找到了,他在列表里的索引是",mid)
break
elif guess_num < bingo_num:
low=mid+1
elif guess_num>bingo_num:
high=mid-1
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