首页 > 解决方案 > python冒泡排序,我错过了什么?((

问题描述

def countSwaps(a):
    count = 0
    for i in range(len(a)-1):
        for j in range(len(a)-1-i):
            count += 1
            if a[j] > a[j+1]:
                a[j],a[j+1] = a[j+1],a[j]
    return count
countSwaps()

if __name__ == '__main__':
    n = int(input())

    a = list(map(int, input().rstrip().split()))

    countSwaps(a)

引发运行时错误

任何人都可以帮助我吗?我在这里想念什么?

多谢!

标签: pythonbubble-sort

解决方案


def countSwaps(a):
    count = 0
    for i in range(len(a)-1):
        for j in range(len(a)-1-i):
            count += 1
            if a[j] > a[j+1]:
                a[j],a[j+1] = a[j+1],a[j]
    return count
countSwaps()

if __name__ == '__main__':
    n = int(input())

    a = list(map(int, input().rstrip().split()))

    countSwaps(a)

返回错误

TypeError: countSwaps() missing 1 required positional argument: 'a'

所以我删除了countSwaps()我输入的之后:

1
2 3 4 5

我首先输入一个数字,以免创建失败n。然后是一个数字列表除以空格。这可以正常工作而不会引发错误。


推荐阅读