재귀 연습으로 필자는 입력 목록이 최소, 최대, 실제 숫자 순으로 정렬되었는지를 반복적으로 확인한 다음 부울 값을 반환하는 Python 함수를 작성했습니다.재귀 적으로 정렬 된 목록 확인
내 코드는 다음과 같습니다
def det_sorted(listA):
if len(listA) == 1:
return(True)
else:
if listA[0] <= det_sorted(listA[1:]):
return(True)
elif listA[0] > det_sorted(listA[1:]):
return(False)
이 기능을 항상 반환 '거짓.' 일반적인 질문 : 목록을 반복하여 반복적으로 어떻게 반복합니까? 내 구체적인 질문 : 내가 뭘 잘못 했니?
내 첫 번째 대답은 "그렇지." 이미'sorted() '를 사용할 수 있기 때문에, 다른 것은 더 복잡하고 비싸다. – msw
무엇이 잘못되었는지 쉽게 알 수있는 방법은'sorted()'를 호출하면'True' 또는'False'가 반환되고'if' 문은'True' 또는'False '. 네가 원하는게 아니야. –
내장 함수를 섀도 잉하기 때문에'sorted()'라고해서는 안됩니다. 'is_sorted()'는 잘 할 것입니다. – 2rs2ts