1

ファイル内のすべての行をループして、各行を空白に基づいてトークンに分割しています。たとえば、行:は、 、、 、 の4circle 1 2 3つのトークンに分割されます。circle123

行がコメント ( ) で始まる#か空の場合、 mytokenListも空です。この場合、私はチェックすることができませんtokenList[0]

リストのサイズが 0 の場合、次の行 (ループ内の次のループ) にジャンプしforます。


       for line in self.myFile:
            tokenList = self.getTokens(line)
            if len(tokenList) == 0:
                ## ISSUE HERE
            if tokenList[0] == "shape":
                s = RayTracerShapes.Shape()
                self.scene.addShape(s)

を試しbreakましたが、これは現在の反復を終了するのではなく、ループからすぐに飛び出すようです。for ループから完全に飛び出さずに、現在のループから飛び出して次のループに飛び込む方法はありますか?

4

1 に答える 1

5

continueキーワードを使用します。

continue検出されると、ループ本体の残りのステートメントはスキップされ、ループの先頭から実行が続行されます。

この SO の質問が役立つ場合があります: Python での "continue" ステートメントの使用例? このクイック リファレンスには、その使用方法の短い例が 2 つあります。

あなたの場合:

   for line in self.myFile:
        tokenList = self.getTokens(line)
        if len(tokenList) == 0:
            continue # skip the rest of the loop, go back to top
        if tokenList[0] == "shape":
            s = RayTracerShapes.Shape()
            self.scene.addShape(s)
于 2012-08-09T04:28:19.110 に答える