0

このプログラムを使用しようとすると、構文エラーが発生する理由を理解しようとしています。このコードは、入力リストを使用していたときには問題なく機能しましたが、好みに合わせてデータを操作できるため、配列を使用することにしました。

コードは次のとおりです。

#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」にさまざまな値を使用してみました。コロンを削除しようとしました (他の構文エラーにつながります)。何が欠けていますか?

4

2 に答える 2

4

問題はここにあります:

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

あなたは3(つと2つを持ってい)ます。Pythonは、reshape()呼び出しが行の終わりで終了していないと見なすため、関数呼び出し内では意味をなさないforandに到達するまでファイルを下に進みます。:

于 2012-07-24T19:44:13.843 に答える
2

括弧がありません:

frames = reshape(frames, ((archnodes*3),workingframes)
于 2012-07-24T19:44:06.670 に答える