计算2d数组中的1数时,“TypeError:只有整数标量数组才能转换为标量索引”

2024-03-28 16:03:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经搜索了这个错误,但是与这个类型错误相关的所有其他错误似乎都与连接有关

我正在编写一个简单的应用程序来复制康威生活游戏,部分代码如下:

def play_func():
    for row in two_dee_array:
        for col in row:
            n_neighbours = get_neighbours(two_dee_array, row, col)
            print(n_neighbours)


def get_neighbours(big_arr, row, col):
    sm_arr = big_arr[(row - 1):(row + 2), (col - 1):(col + 2)]
    b = 0
    i = row
    j = col
    for i in sm_arr:
        for j in i:
            if sm_arr[i, j] == 1:
                b += 1
    if sm_arr[row, col] == 1:
        b -= 1
    return b

随着皮查姆的吐出:

  File "C:\Users\Joe\PycharmProjects\GoLv2\main.py", line 62, in play_func
    n_neighbours = get_neighbours(two_dee_array, row, col)
  File "C:\Users\Joe\PycharmProjects\GoLv2\main.py", line 68, in get_neighbours
    sm_arr = big_arr[(row - 1):(row + 2), (col - 1):(col + 2)]
TypeError: only integer scalar arrays can be converted to a scalar index

我正在尝试学习Python,所以如果可能的话,我将非常感谢您的帮助和简单的答案,让一个新人能够理解

干杯


Tags: inforplaygetdef错误colarray