2024-06-17 11:07:06 发布
网友
我得到这个错误:
Traceback (most recent call last): File "D:/Python26/PYTHON-PROGRAMME/049 bam", line 9, in <module> ball[i][j]=sphere() NameError: name 'ball' is not defined
当我运行这个代码时。但是球是被定义的(ball[i][j]=sphere())。不是吗?在
Python不知道ball是一个列表。在使用它之前(在第一个for循环中),必须将其初始化为
ball
for
ball = []
所以Python知道把它当作一个列表来处理。在
否,ball未定义。您需要先创建一个list(),然后才能开始为列表的索引赋值。类似地,在指定嵌套列表之前,需要创建它们。试试这个:
list()
ball = [None] * 5 for i in range(5): ball[i] = [None] * 5 for j in range(5): ball[i][j]=sphere()
或者这个:
后一种使用两种列表理解的语法更具惯用性,如果您愿意的话,它更像python。在
当你说ball[i][j]时,你必须已经有了一些对象ball,这样你就可以(两次)索引到它。请尝试此段:
ball[i][j]
ball = [] for i in range(5): ball.append([]) for y in range(5): ball[i].append(sphere())
Python不知道
ball
是一个列表。在使用它之前(在第一个for
循环中),必须将其初始化为所以Python知道把它当作一个列表来处理。在
否,
ball
未定义。您需要先创建一个list()
,然后才能开始为列表的索引赋值。类似地,在指定嵌套列表之前,需要创建它们。试试这个:或者这个:
^{pr2}$后一种使用两种列表理解的语法更具惯用性,如果您愿意的话,它更像python。在
当你说
ball[i][j]
时,你必须已经有了一些对象ball
,这样你就可以(两次)索引到它。请尝试此段:相关问题 更多 >
编程相关推荐