Commit 5beca671 by BellCodeEditor

save project

parent c52e21a9
Showing with 16 additions and 14 deletions
# 使用二分查找法,找出9和20在列表里面的索引 import random
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21] alist=[]
low,high=0,len(num_list)-1 for i in range(1,101):
while True: alist.append(i)
num=int(input("输入:")) num=random.randint(1,101)
if high>=low: def binary_search(list,sum):
while True: low,high=0,len(list)-1
number=sum
while high>=low:
mid=(high+low)//2 mid=(high+low)//2
gusses=num_list[mid] gusses=list[mid]
if gusses==num: if gusses==number:
print("索引为",mid) return mid
break elif gusses<number:
elif gusses<num:
low=mid+1 low=mid+1
if high<low: if high<low:
print("此数不存在")
break break
else: else:
high=mid-1 high=mid-1
if high<low: if high<low:
print("此数不存在")
break break
a=binary_search(alist,num)
print(num,a)
\ 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