我得到了这个错误:
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当我运行这段代码时。但是球是定义的( balli=sphere() )。不是吗?
#2D-wave
#VPython
from visual import *
#ball array #ready
for i in range(5):
    for y in range(5):
        ball[i][j]=sphere()
timer = 0
dt = 0.001
while(1):
    timer += dt
    for i in range(5):
        for y in range(5):
            #wave equation
            x = sqrt(i**2 + j**2) # x = distance to the source
            ball[i][j].pos.y = amplitude * sin (k * x + omega * timer)
    if timer > 5:
        break发布于 2010-02-13 02:20:46
在您的程序中,ball只是一个不引用任何东西的名称。使用像a[i]这样的索引需要a引用一个已经支持索引的对象。类似地,a[i][j]要求a[i]引用支持索引的对象。
听起来您希望它引用一个列表列表,但这不是一个很好的解决方案。你可能会更乐意在numpy数组上执行你的操作,它可以抽象出你所有的循环,并且可以真正加快计算速度。
https://stackoverflow.com/questions/2254009
复制相似问题