第 26 行的语法错误

syntax error at line 26

第 26 行出现语法错误。这是下面的代码。不知道为什么我会出错。在 python

中实施快速排序

'''quick sort'''

def quicksort(arr, size):
    partition(arr, size)

def partition(arr, size):
    if size <= 1:
        return

    left = 0
    right = size - 1
    pivot = arr[size/2]

    while left < right:
        while arr[left] < pivot:
            left += 1
        while arr[right] > pivot:
            right -= 1

        temp = arr[left]
        arr[left] = arr[right]
        arr[right] = temp

    partition(arr, left)
    partition(arr[left:], len(arr[left:]) 
arr = [1,2,3,4,5,45,3,5,4,6]  
quicksort(arr, len(arr))

这里:

partition(arr[left:], len(arr[left:]) 
                                     ↑

你少了一个 )。使用 IDE 将真正帮助您找到像这样的小问题。

请注意,您的代码存在更多问题,它们与您遇到的语法错误无关。

一般注意事项:下次当您 post 一个问题时,请多加努力 post 确切的错误,并尝试用您自己的话解释您遇到的问题,以便您可以做得更好并尽快提供帮助。在问题的 body 中发布标题中的错误和功能并不是一个很好的提问方式。

您在第 26 行缺少括号。

partition(arr[left:], len(arr[left:]) 

应该是:

partition(arr[left:], len(arr[left:]))