我想调用第二个函数并让它使用第一个函数的结果,但我不确定如何执行此操作。我不能使“数组”成为局部变量,因为它依赖于第一个函数。有人可以帮忙吗?谢谢。
def main(n):
array = []
for x in range(n):
array.append(random.randint(0, 5))
print(array)
def sortarray(list):
newarray = []
for i in range(len(array)):
newarray.append(array.pop.array(array.index(max(x))))
print(newarray)
如果要将结果传递给第二个函数,则第一个函数必须返回一些内容。请看下面的例子:
def main(n):
array = []
for x in range(n):
array.append(random.randint(0, 5))
return array
def sortarray(array):
newarray = []
for i in range(len(array)):
newarray.append(array.pop.array(array.index(max(x))))
return newarray
您可以像下面这样使用它们:
print(sortarray(main(5)))
顺便说一句,如果你对排序感兴趣 - 你肯定应该结帐Sorting HOW TO。
UPDATE
这将产生以下错误:
<ipython-input-1-d0f89860ca87> in sortarray(array)
8 newarray = []
9 for i in range(len(array)):
---> 10 newarray.append(array.pop.array(array.index(max(x))))
11 return newarray
AttributeError: 'builtin_function_or_method' object has no attribute 'array'
正如您所看到的那样,它指向以下行:
newarray.append(array.pop.array(array.index(max(x))))
问题出在array.pop.array
电话中。 array.pop
是一个功能。
为什么将变量“list”传递给函数排序数组但从不使用它?
顺便说一句,你不应该将你的变量定义为“列表”。它是python中的保留字。虽然它可能不会导致错误,但它会混淆一些查看代码或错误链接某些IDE的人。
这可能是您想要实现的。
def main(n):
array = []
for x in range(n):
array.append(random.randint(0, 5))
print(array)
sortarray(array)
def sortarray(array):
newarray = []
for i in range(len(array)):
newarray.append(array.pop.array(array.index(max(x))))
print(newarray)