将矩阵传递给不同模块的函数(Python)

时间:2015-05-01 09:00:30

标签: python function matrix module arguments

我正在处理我的计算机图形作业。既然我们被允许选择我们想要的PL,我认为这将是学习Python的好机会,但最终我遇到了一些麻烦。

在一个模块中,我有一些这样的功能:

def function1 (a, b, matrix):
   ...
   function2 (matrix)

def function2(matrix):
   ...
   function3(x,y,matrix):

def function3(x,y,matrix):
   ...
   matrix[x][y] = something

现在,从另一个模块,我调用function1。然后它应该调用function2传递矩阵,矩阵应该调用function3将矩阵传递给它。但是,在尝试访问matrix[x][y时,我得到的列表分配索引超出范围。

如果我尝试在同一模块的矩阵上调用它们,它会起作用,所以我认为这些函数可能没有意识到它们正在接收矩阵。我将函数定义更改为

function2(matrix = [[]]) 

但我仍然得到同样的错误。我有点卡住了。

1 个答案:

答案 0 :(得分:0)

对不起大家,你是对的。

500x500中有一个像素,实际上是矩阵[249] [500]。 当我进行检查时,我检查了它们是否<= 500而不是<500,不知道为什么。

谢谢,我很确定我正在搞其他事情,特别是在我添加了我的(错误的)测试之后,因为这是我第一次编写python。