我正在处理我的计算机图形作业。既然我们被允许选择我们想要的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 = [[]])
但我仍然得到同样的错误。我有点卡住了。
答案 0 :(得分:0)
对不起大家,你是对的。
500x500中有一个像素,实际上是矩阵[249] [500]。 当我进行检查时,我检查了它们是否<= 500而不是<500,不知道为什么。
谢谢,我很确定我正在搞其他事情,特别是在我添加了我的(错误的)测试之后,因为这是我第一次编写python。