我该如何解决这个冒泡排序问题?

Ped*_*rto 3 python

我正在尝试使用 5 个变量列表进行 Python 冒泡排序。用户将输入 5 个值,并且bubble_sort将按升序排列它们,但是当我尝试运行它时,它会出现错误:

\n
lista = list(n1, n2, n3, n4, n5)\n            ^^^^^^^^^^^^^^^^^^^^^^^^\nTypeError: list expected at most 1 argument, got 5\n
Run Code Online (Sandbox Code Playgroud)\n

这是我写的代码:

\n
print(\'Ol\xc3\xa1!\')\nmsg = \'Ol\xc3\xa1!\'\nn1 = float(input(\'Digite um n\xc3\xbamero qualquer:\'))\nn2 = float(input(\'Digite outro n\xc3\xbamero qualquer:\'))\nn3 = float(input(\'Digite outro n\xc3\xbamero qualquer:\'))\nn4 = float(input(\'Digite outro n\xc3\xbamero qualquer:\'))\nn5 = float(input(\'Digite outro n\xc3\xbamero qualquer:\'))\nlista = list(n1, n2, n3, n4, n5)\ndef bubble_sort(arr):\n    n = len(arr)\n    for i in range(n):\n        for j in range(0, n - i - 1):\n            if arr[j] > arr[j + 1]:\n                arr[j], arr[j + 1] = arr[j + 1], arr[j]\n    return arr\n\n\nprint(bubble_sort(lista))\nprint(\'Fim\')\n
Run Code Online (Sandbox Code Playgroud)\n

And*_*row 5

lista您正在尝试使用 list() 函数创建列表,但它需要一个可迭代对象作为其参数,而不是多个单独的元素!

创建一个包含所有元素的列表,如下所示:

lista = [n1, n2, n3, n4, n5]
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的回答,它真的很有帮助,我很好地理解了这个概念! (2认同)