Commit 6211a3d7 by BellCodeEditor

save project

parent 89693d4b
Showing with 55 additions and 54 deletions
import random # import random
alist = [] # alist = []
for i in range(1, 101): # for i in range(1, 101):
alist.append(i) # alist.append(i)
num = random.choice(alist) # num = random.choice(alist)
# 请完善二分查找函数binary_search(),查找出num在列表alist里面的索引位置 # # 请完善二分查找函数binary_search(),查找出num在列表alist里面的索引位置
# def binary_search(alist,num):
# low = 0
# high = len(alist)
# mid = (low+high)//2
# guess = alist[mid]
# while True:
# mid = (low+high)//2
# guess = alist[mid]
# if guess == num:
# print('找到这个数了!')
# print('这个数在列表中的索引为'+str(mid))
# break
# elif guess < num:
# low = mid+1
# else:
# high = mid-1
# if high <= low:
# print('列表中没有这个数!')
# break
# binary_search(alist,num)
def binary_search(alist,num): # 使用二分查找法,找出数字在列表里面的索引
import random
length = random.randint(0,200)
print('-'*50)
while True:
num_list = []
for i in range(1,length):
num_list.append(i)
low = 0 low = 0
high = len(alist) high = len(num_list)-1
mid = (low+high)//2 print('输入Q退出程序!')
guess = alist[mid] number = input('请输入要寻找的数:')
while True: print('-'*50)
mid = (low+high)//2 if number == 'Q':
guess = alist[mid] break
if guess == num: else:
while True:
mid = (low+high)//2
guess = num_list[mid]
if guess == int(number):
print('找到这个数了!') print('找到这个数了!')
print('这个数在列表中的索引为'+str(mid)) print('这个数在列表中的索引为'+str(mid))
print('-'*50)
break break
elif guess < num: elif guess < int(number):
low = mid+1 low = mid+1
else: else:
high = mid-1 high = mid-1
if high <= low: if high <= low:
print('列表中没有这个数!') print('列表中没有这个数!')
break break
binary_search(alist,num) \ No newline at end of file
# 使用二分查找法,找出数字在列表里面的索引
# import random
# length = random.randint(0,200)
# num_list = []
# for i in range(1,length):
# num_list.append(i)
# low = 0
# high = len(num_list)-1
# while True:
# print('输入Q退出程序!')
# number = input('请输入要寻找的数:')
# if number == Q:
# break
# elif locals(number) != int:
# break
# else:
# while True:
# mid = (low+high)//2
# guess = num_list[mid]
# if guess == int(number):
# print('找到这个数了!')
# print('这个数在列表中的索引为'+str(mid))
# break
# elif guess < int(number):
# low = mid+1
# else:
# high = mid-1
# if high <= low:
# print('列表中没有这个数!')
# break
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