小编Vik*_*Vik的帖子

Python中的递归函数来搜索列表中的项目

我正在尝试/需要编写一个递归函数,如果元素在排序列表中,则返回 True/False 值。我被要求不要使用“in”关键字来获得答案。我的代码如下,我想我很接近,但我似乎无法让函数返回正确的值:

def listSplitter(listToProcess, numToFind):
    lenOfList = len(listToProcess)

    if lenOfList == 1:
        if numToFind == listToProcess[0]:
            return True
        else:
            return False
    else:

        if lenOfList % 2 == 0:
            list1 = listToProcess[0:int(lenOfList / 2)]
            list2 = listToProcess[int(lenOfList / 2):int(lenOfList)]

            if list1[-1] >= numToFind and list1[0] <= numToFind:
                return (list1, numToFind)
                #return
            elif list2[-1] >= numToFind and list2[0] <= numToFind:
                return listSplitter(list2, numToFind)
                #return
        else:
            list1 = listToProcess[0:int(lenOfList / 2)]
            list2 = listToProcess[int(lenOfList / 2):int(lenOfList)]

            if list1[-1] >= numToFind and list1[0] …
Run Code Online (Sandbox Code Playgroud)

python recursion search

0
推荐指数
1
解决办法
94
查看次数

标签 统计

python ×1

recursion ×1

search ×1