2012-07-24 53 views
0

我试图弄清楚为什么我在尝试使用此程序时遇到语法错误。当我使用填充列表时,此代码工作正常,但是,我决定使用数组,因为我可以根据自己的喜好操纵数据。填充数组 - 获取'for'语句的语法错误

下面是代码:

#Frame Creation 

frames=[] 

for n in range (0, (workingframes*archnodes*3)): 
    frames.append() 


frames = array(frames)         #generates array 
frames = reshape(frames, ((archnodes*3),workingframes) #reshapes array 




#Frame Population 

for f in range (0, workingframes): 

    if f<=(workingframes/2): 

     for x in range (0, (archnodes)): 
      frames[(archnodes*3)].insert((archnodes*3), (archstartred[x])) 
      frames[(archnodes*3)+1].insert(((archnodes*3)+1),(archstartgrn[x])) 
      frames[(archnodes*3)+2].insert(((archnodes*3)+2),(archstartblu[x])) 

     for y in range (0, nodesperframe): 
      archstartred.pop() 
      archstartgrn.pop() 
      archstartblu.pop() 
      archstartred.insert(0, backred) 
      archstartgrn.insert(0, backgrn) 
      archstartblu.insert(0, backblu) 

    else: 
     for y in range (0, nodesperframe): 
      archstartred.pop(0) 
      archstartgrn.pop(0) 
      archstartblu.pop(0) 
      archstartred.append(backred) 
      archstartgrn.append(backgrn) 
      archstartblu.append(backblu) 

     for x in range (0, (archnodes)): 
      frames[(archnodes*3)].insert((archnodes*3), (archstartred[x])) 
      frames[(archnodes*3)+1].insert(((archnodes*3)+1),(archstartgrn[x])) 
      frames[(archnodes*3)+2].insert(((archnodes*3)+2),(archstartblu[x])) 

我不断收到此错误:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "backandforth3.py", line 99 
    for f in range (0, workingframes): 
            ^
SyntaxError: invalid syntax 

我一直在使用不同的值 'F' 尝试。我尝试删除冒号(这会导致其他语法错误。)我错过了什么?

+2

您在提供错误的行上方的行中缺少右括号。下一行的SyntaxErrors是缺少括号的常见症状。 – mgilson 2012-07-24 19:44:13

+0

另请注意,如果该函数被执行,则'frames.append()'(第6行)是一个TypeError。 – mgilson 2012-07-24 19:46:31

+0

我不敢相信我错过了!谢谢! – 2012-07-24 19:51:55

回答

4

的问题是在这里:

frames = reshape(frames, ((archnodes*3),workingframes) #reshapes array 

你有三个(和两个)。 Python认为reshape()调用在行尾没有结束,所以它沿着文件前进,直到遇到for:,这在函数调用中没有意义。

+0

+1表示“Python认为重新调用没有结束”。如果你提到这个原因,我会再次使用+1(如果可能),因为python会自动延续任何括号/括号中的行。 – mgilson 2012-07-24 19:49:40

+0

GEEZE !!!我知道这是我忽略的东西!谢谢! – 2012-07-24 19:51:18

2

缺少的括号:

frames = reshape(frames, ((archnodes*3),workingframes) 
+0

谢谢,我简直不敢相信那么简单! – 2012-07-24 19:54:08