를 반환/인쇄되지 내가 그것으로 데 문제가이 오류없이 또는 아무것도 실행한다는 것입니다 quickselect파이썬 Quickselect 여기 피벗
def quickSelect(lst, k):
if len(lst) != 0:
pivot = lst[(len(lst)) // 2]
smallerList = []
for i in lst:
if i < pivot:
smallerList.append(i)
largerList = []
for i in lst:
if i > pivot:
largerList.append(i)
count = len(lst) - len(smallerList) - len(largerList)
m = len(smallerList)
if k >= m and k < m + count:
return pivot
print(pivot)
elif m > k:
return quickSelect(smallerList, k)
else:
return quickSelect(largerList, k-m-count)
의 코드이지만, 그 자체를 완료 할 때 나는 그것을 기대하고있다 파이썬 쉘 (이 특정 경우에는 목록의 중앙값)에 뭔가를 출력하지만, 나는 아무것도 얻지 못합니다. 내가 여기서 뭔가 잘못하고있는거야? I는 LST 및 k에 대한 입력하고 어떤로서는
....- LST = [70, 120, 170, 200]
- K = LEN (LST) // 2
은 나뿐만 아니라 몇 가지 다른 K 값으로 그것을 시도했지만 아무 소용이
들여 쓰기가 잘못되었지만 들여 쓰기가 잘못되었을 수 있습니다. 함수 정의 다음에 들여 쓰기하지는 않습니다. –
난 그냥 달아서 (들여 쓰기 고정) lst와 k에 대한 입력과 quickSelect (lst, k)는 170을 반환했습니다. quickSelect를 호출하는 방법과 예상되는 것을 말할 수 있습니까? print (quickSelect (lst, k)))를 사용하여 해석기가 결과를 인쇄하는지 확인하십시오. –