在 Python 中分配一个全局数组

Assign a global Array in Python

我找到了一个项目来学习Python:俄罗斯方块 我的计划是在 variable() 函数中分配一个全局数组来清理我的 main() 函数。

但我收到语法错误

def globalv():
    global x
    x = 40
    global y
    y = 10
    global Tetris[40][10]
    for x in 40:
        for y in 10:
            Tetris[x][y] = 0

def main():
    globalv()

if __name__ == "__main__":
    main()

我不知道我做错了什么 谢谢

您的错误在于 for 循环以及 global Tetris[40][10].

的使用

global 上的错误只是您添加了索引,您只使变量本身成为全局变量。所以:

global Tetris

如果您更熟悉 C 或 Java,您需要声明变量及其大小的事实在 python 中不是问题(在最基本的级别)。

您在 for 循环中遇到的错误应该类似于:TypeError: 'int' object is not iterable

for 关键字需要一个迭代器,这本质上是您逐步完成的东西,例如列表。整数是不可迭代的,“for number in 40”的“字面”英语是有道理的,但在代码中却没有。

您需要的是使用 range 关键字,它基本上会生成最多 但不包括 的数字列表。所以你应该使用:

for x in range(40):