Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复Python中的“列表索引超出范围…”?_Python_Python 3.x_Conways Game Of Life - Fatal编程技术网

如何修复Python中的“列表索引超出范围…”?

如何修复Python中的“列表索引超出范围…”?,python,python-3.x,conways-game-of-life,Python,Python 3.x,Conways Game Of Life,我试着用Python制作康威的人生游戏。我想测试框是否不是边框框,选中周围的框,等等 我已经试着把这个测试放在评论中,并随机化活着的邻居细胞的数量。错误消失了,但另一个问题出现了 这不是这个问题的主题 newArr=arr 行数=0 当行数小于最大行数时: cols=0 当cols2和检查

我试着用Python制作康威的人生游戏。我想测试框是否不是边框框,选中周围的框,等等

我已经试着把这个测试放在评论中,并随机化活着的邻居细胞的数量。错误消失了,但另一个问题出现了 这不是这个问题的主题

newArr=arr 行数=0 当行数小于最大行数时: cols=0 当cols2和检查<3: newArr[rows][cols]='██' 其他: newArr[rows][cols]='' cols+=1 行数+=1 arr=newArr 这里是错误

回溯最近一次呼叫上次: 文件C:/Users/acer/AppData/Local/Programs/Python/Python37/Test.py,第55行,in 如果arr[cols+1][rows-1]='██' : 索引器:列表索引超出范围 这会检查牢房周围是否有活着的邻居。 我们不需要边上的行和列。

这会检查每个单元格,除了它自己的单元格0,0。
评论是否有任何改进。

您可以发布完整的错误回溯吗?如果例如cols=maxCols-1,则假设maxCols=lencols,cols+1将超出列表末尾。请注意,检查cols!=maxCols是多余的,因为该块只在colsfor row in range(1, maxRows - 1): for col in range(1, maxCols - 1): aliveNeighbours = 0 for i in range(-1, 2): for j in range(-1, 2): if arr[i + row][j + cols] = 'Your symbol' and (i != 0 or j != 0): aliveNeighbours += 1 #Then check for various conditions for conways' game of life
>>> for i in range(-1, 2):
...     for j in range(-1, 2):
...             if i != 0 or j != 0:
...                     print(i, j)
... 
-1 -1
-1 0
-1 1
0 -1
0 1
1 -1
1 0
1 1
>>>