Python-矩阵分配给所有元素,而不是if语句指定的元素

时间:2018-12-12 19:33:10

标签: python python-3.x for-loop multidimensional-array conways-game-of-life

该Python脚本应该可以构成CGoL滑翔机,但是matrix仅输出[[1, 1, 1], [1, 1, 1], [1, 1, 1]]而不是预期的[[0, 1, 0], [0, 0, 1], [1, 1, 1]]

我在print之后添加了if语句,以在翻转cell时显示blockif,并显示适当的值,但是matrix分配仍然无效。

#!/usr/bin/python3

matrix = [[0] * 3] * 3

def chunks(in_list, size):
    out_chunks = []
    for item in range(0, len(in_list), size):
        out_chunks.append(list(in_list[item:item + size]))
    return list(out_chunks)

for block in range(len(matrix)):
    for cell in range(len(matrix[block])):
        if chunks(range(9), 3)[block][cell] in [1, 5, 6, 7, 8]:
            print(f"Block: {block}\nCell: {cell}\n")
            matrix[block][cell] = 1

0 个答案:

没有答案