2012-07-24 3 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

+0

또한'frames.append()'(6 행)가 실행되면 TypeError입니다. – mgilson

+0

나는 그것을 놓친다 고 나는 믿을 수 없다! 고맙습니다! –

답변

4

문제는 여기가 :

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

세 가지 () 있습니다. 파이썬은 reshape() 호출이 줄 끝 부분에서 끝난 것이 아니라고 생각하여 함수 호출 내에서 이해가되지 않는 for:에 도달 할 때까지 파일을 계속 처리합니다.

+0

+1은 "파이썬은 재 형성 호출이 끝났다고 생각합니다." 파이썬이 자동으로 괄호/괄호로 둘러싸인 줄을 계속하기 때문에 그 이유가 언급 되었다면 다시 +1 할 수 있습니다 (가능한 경우). – mgilson

+0

GEEZE !!! 나는 그것이 내가 바라보고 있었던 무엇인가이다라는 것을 알고 있었다! 고맙습니다! –

2

누락 괄호 :

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

고마워, 나는 그게 그렇게 간단하다고 믿을 수 없어! –