首页 > 解决方案 > 如何将网格作为函数返回?

问题描述

所以我有一个任务,我必须使用测试代码来检查我的代码是否正常工作,我想做的是将网格定义为函数并将其返回,以便测试代码可以使用它。

测试代码:

def run_test (test):
    if test == 0:
        grid = [] 
        print(grid)   
        util.create_grid (grid)
        # import from a different file
        print (len (grid))
        print (len (grid[0]))
        print (len (grid[1]))
        print (len (grid[2]))
        print (len (grid[3]))
        print (grid[0][0])
        print (grid[1][2])
        print (grid[2][1])
        print (grid[3][3])

我的代码(来自不同的文件):

def create_grid(grid):
  
  grid = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
  
  return grid

我得到的错误: print (len (grid[0])) IndexError: list index out of range

标签: python

解决方案


问题是您忽略了的返回值create_grid

grid = util.create_grid(grid)

鉴于您grid在重新分配之前从未使用过,将任何对象作为参数传递会更简单(函数无论如何都会忽略它):

if test == 0:
    grid = util.create_grid([])

推荐阅读