我知道问题很简单,但我找不到解决方案。
import random
values = []
temp = 0
print("Enter number of random values")
for i in range(5):
valuesRandom = random.randrange(0,100)
values.append(valuesRandom)
print(values)
for j in range(5):
if values[i][j] > values[i+1][j+1]:
temp = values[i][j]
values[i][j] = values[i+1][j+1]
values[i+1][j+1] = temp
我确信错误是我将 int 变量作为列表访问。在 Pascal 中,这是可以做到的,但是如何解决 python 中的错误呢?
你正在做一些非常奇怪的事情:
您会得到一个随机数并将其添加到列表中。然后你得到这个数字
values[i]并尝试循环访问它的索引从 1 到 5 ......当然,这不起作用。我不知道你期望什么。下面是冒泡排序的实现:
执行此代码后,我们将得到以下输出:
然后由于某种原因,您添加了另一个循环。我假设您不太了解嵌套循环的工作原理。这是一个示例代码:
输出:$ python a.py
现在在您的代码中:
关于“索引”主题的示例代码:
结论:
如果我知道你想在你的代码中做什么,我会写一个解决方案。但我想现在你至少会掌握索引这个话题。 解释器写给你的最基本的事情(TypeError:'int' object is not subscriptable,bubblesort)是你试图索引数字(整数),但这不能完成