我正在尝试/需要编写一个递归函数,如果元素在排序列表中,则返回 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)