Python:没有定义球

2024-06-17 11:07:06 发布

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

我得到这个错误:

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())。不是吗?在

^{pr2}$

Tags: inmost错误linecallfilelastmodule
3条回答

Python不知道ball是一个列表。在使用它之前(在第一个for循环中),必须将其初始化为

ball = []

所以Python知道把它当作一个列表来处理。在

否,ball未定义。您需要先创建一个list(),然后才能开始为列表的索引赋值。类似地,在指定嵌套列表之前,需要创建它们。试试这个:

ball = [None] * 5

for i in range(5):
    ball[i] = [None] * 5

    for j in range(5):
        ball[i][j]=sphere()

或者这个:

^{pr2}$

后一种使用两种列表理解的语法更具惯用性,如果您愿意的话,它更像python。在

当你说ball[i][j]时,你必须已经有了一些对象ball,这样你就可以(两次)索引到它。请尝试此段:

ball = []    
for i in range(5):
    ball.append([])
    for y in range(5):
        ball[i].append(sphere())

相关问题 更多 >