我试图在数组(列表)中找到一个数字的索引,但是有时它属于if语句(if upper 我形成了一个随机数生成数组,并在201和300之间生成了30个数字 我粘贴了列表结果[282、215、204、295、236、232、229、218、295、214、287、295、270、212、276、255、205、204、212、228, 230、265、278、204、272、226、292、284、290] 我对reuse函数的目标是显示我在目标参数中发送的数字的索引。有时它确实有效,并且会告诉我索引号,但有时却不起作用。我很沮丧。很抱歉格式化错误。 发送目标号码215的结果是:
该数字的索引是:1
这完全可以实现,但是当我找到另一个数字(例如282)时,就会出现问题,它应该给我0。但是给我的返回值是-999。或当我执行272时,同样的问题,返回-999。它仅适用于某些值。无论如何,我很乐意为您解决这个问题。谢谢。def recurse(lower,upper,result,target):
if upper < lower:
print("Error, Upper is less then Lower")
return -999
midpoint = (lower + upper)//2
guess = result[midpoint]
if guess == target:
return midpoint
else:
if guess > target:
upper = midpoint -1
return recurse(lower,upper,result,target)
else:
lower = midpoint +1
return recurse(lower,upper,result,target)
result5 = recurse(0,30,result,215)
print("The index of that number is : ",result5)
def randomList(array):
array = []
for x in range(29):
r = random.randint(201,300)
array.append(r)
return array
result = randomList(result)
print("Random list of 30 numbers between 201-300",result)