【发布时间】:2022-10-23 21:12:29
【问题描述】:
我怎样才能弄清楚为什么我的冒泡排序没有打印?我也使用了 Numpy:
number = int(input('Tell the AI the size of the array ==> '))
arr = np.random.rand(number)
def Bubblesort(arr):
for i in range(len(arr)):
for j in range(0, len(arr)):
if arr[j] > arr[j + 1]:
temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
Bubblesort(arr)
print(arr)
我是初学者,我真的需要这个项目。
【问题讨论】:
-
你的缩进全错了;不清楚您的代码是否真的是这样,或者您是否搞砸了复制+粘贴。您必须了解,在 Python 中,缩进是代码的关键核心组件,它决定了什么代码在什么时间运行。因此,您的问题可能完全是因为缩进,但在您修复它之前我们无法知道。
-
也就是说,看起来您的
Bubblesort(arr)和print(arr)行被缩进到Bubblesort的范围内。这意味着您的代码只定义了Bubblesort,但它没有称呼代码。因此,您的程序将在您输入arr的长度时结束,因为在那之后没有任何代码可以执行任何操作。
标签: python arrays numpy sorting bubble-sort