执行此代码后:
def arrayChange(inputArray):
inputArray.append([10**6])
sum = 0
for i in range(len(inputArray)):
while inputArray[i] > inputArray[i+1]:
inputArray[i+1] += 1
sum += 1
return sum
我收到此错误:
Traceback (most recent call last):
file.py3 on line ?, in getUserOutputs
userOutput = _runickrl(testInputs[i])
file.py3 on line ?, in _runickrl
return arrayChange(*_fArgs_sxkojsugpnwr)
file.py3 on line 6, in arrayChange
while inputArray[i] > inputArray[i+1]:
TypeError: unorderable types: int() > list()
有谁知道为什么会这样?我尝试了所有我发现的东西。
答案 0 :(得分:1)
当您执行inputArray.append([10**6])
时,实际上是在inputArray
列表中添加了一个列表。
您假设inputArray
的每个元素都是整数,但是当您使用while inputArray[i] > inputArray[i+1]
执行i=0
时,第一个元素是一个列表,下一个元素是一个整数,所以它给出了你错误“unorderable types:int()> list()”。
如果您只想追加一个元素,那么您需要做的是inputArray.append(10**6)
。
如果您想要一次追加多个项目,那么您正在寻找的是:inputArray.extend([1, 2, 3])
。