首页 > 解决方案 > 我不明白我的函数参数中的数组是什么形状

问题描述

我正在尝试使用该功能运行康威的生活游戏

animate_life(100, 'beacon',[0], 30, 300)

但它不断弹出错误,以目前的形式显示:

x_start, y_start = seed_position[0], seed_position[1]

IndexError:列表索引超出范围。

最初我使用了一个看起来像的索引,[0,1]但这也报告了一个错误,即:

IndexError:数组的索引过多

我相信给它 2 个值会报告一个问题,因为您期望数据是一个二维数组。Numpy 抱怨是因为数据不是二维的(要么是一维的,要么是无的)?

我的问题是:数据的大小是多少?

即我的animate_life函数中预期的大小参数通常定义为:

animate_life(universe_size, seed, seed_position, n_generations=30, interval=300, save=False)

Edi:这是指在https://github.com/robertmartin8/PyGameofLife/blob/master/game_of_life.py找到的代码

标签: pythonconways-game-of-lifecellular-automata

解决方案


澄清:我的答案基于此处找到的代码。 https://github.com/robertmartin8/PyGameofLife/blob/master/game_of_life.py

完全诚实地确定索引应该是 2 元组而不是列表,因此您应该尝试 seed_position=(0,1)。宇宙大小相同;尝试(100,100)。


推荐阅读