를 반환하지 않습니다재귀 순차 검색 값
def search(list1,n,pos):
if n==list1[0]:
return pos
else:
if list1==[]:
return -1
else:
pos=pos+1
list1.pop(0)
return search(list1,n,pos)
def searchCall(n):
anylist=[1,2,3,4,5,6,7,8,9,10]
pos=0
search(anylist,n,pos)
def main():
i=searchCall(8)
print i
if __name__=="__main__":
main()
그래서 목록에있는 요소 N을 발견하는 것입니다, 각 재귀 호출에 무엇을 목록의 첫 번째 요소가 튀어 나와 나머지 목록이 다시 검색됩니다. 문제는 그 나는이 둘 때 :
if n==list1[0]:
print pos
가이 요소가 발견 된 위치를 인쇄,하지만 난 변경할 때
return pos
가 없음을 또한
때 요소를 인쇄합니다을 찾을 수 없습니다 -1 반환해야하지만 대신이 오류 메시지를 표시합니다.
if n==list1[0]:
IndexError: list index out of range
어떤 도움말? 요소가 발견되지 않는 경우
감사