1

現在、私は Tetris ゲームに取り組んでおり (Web サイトで Python の Tetris の例を見つけたので、それをコピーしていましたが、独自のものをいくつか追加していました)、すべてのコードを書き終えたばかりですが、いくつかの構文エラー。私はそれらすべてを修正できましたが、この最後の構文エラーは私を混乱させます。

    def pieceDropped(self):
        for i in range(4):
            x = self.curX + self.curPiece.x(i)
            y = self.curY - self.curPiece.y(i)
            self.setShapeAt(x, y, self.curPiece.shape()

        self.removeFullLines()

特定の構文エラーが関数の最後の行にあり、その理由がわかりません。インデントと空白はすべて正しいようです。では、これが構文エラーである理由を誰かが説明できますか?

4

2 に答える 2

7

の括弧を閉じていませんself.setShapeAt

于 2010-01-24T16:26:31.120 に答える
0

最後の行の直前に余分な空白がありself.removeFullLines()ます。forしたがって、そのインデントは行のインデントと同じではありません。編集:現在修正されているようです。

常に同じインデント シーケンスを使用します。タブまたは n 個の空白を選択します。しかし、一貫してください。一部のエディター (VIM など) は、タブを押すたびに適切な数の空白を挿入できます。

于 2010-01-24T16:25:36.650 に答える