2016-06-13 13 views
-1

コードの別のセクションに入力された方向に応じてスプライトを移動しようとしていますが、構文エラーが発生します。'i、j in zip(range ...)'でPythonの構文エラーが発生する

def move(self, direction): 
    if i, j in zip(range(4),[[0,-1],[0,1],[-1,0],[1,0]]): 
     if direction == i: 
      Character.x+= j[0] 
      Character.y += j[1] 

エラーの赤い強調表示は、iとjの間のカンマを超えています。誰もこれを解決する方法を知っていますか?

+3

何をしようとしていますか? 'for'ループが必要でしたか?それは意味をなさない。 – user2357112

答えて

1

あなたはforループを使用することができますが、ループまたはzipを使用していないはるかに簡単な方法があります。

def move(self, direction): 
    steps = [[0,-1], [0,1], [-1,0], [1,0]] 
    j = steps[direction] 
    Character.x += j[0] 
    Character.y += j[1] 
0

は、私はあなたがforはないif書くためのものだと思う:サイモンの答えに示すよう

for i, j in zip(range(4),[[0,-1],[0,1],[-1,0],[1,0]]): 
+0

おそらく、この単純な作業ではループは必要ありません。 –

+0

はい、彼のスニペットは完全なコードではありません。とにかくこれはうまくいき、OPがコードにしたいものです。 –

+0

実際に、私はこのコードがあまり意味をなさないので、OPが自分のコードにしたがっているかどうかは分かりません。 –

関連する問題