Python仓位,排序,收回和索引号

时间:2018-11-19 21:22:29

标签: python function if-statement recursion

我试图在数组(列表)中找到一个数字的索引,但是有时它属于if语句(if upper

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)

我形成了一个随机数生成数组,并在201和300之间生成了30个数字

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)

我粘贴了列表结果[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。它仅适用于某些值。无论如何,我很乐意为您解决这个问题。谢谢。

0 个答案:

没有答案