'if i,j in zip(range ...)'在python中给出了语法错误

时间:2016-06-13 17:21:01

标签: python pygame

我正在尝试根据在不同代码段中输入的方向移动精灵,但是我收到语法错误。

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之间的逗号上。有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

可以使用for循环,如Simon的回答所示,但是有一种更简单的方法,它不使用循环或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]

答案 1 :(得分:0)

我认为您打算写for而不是if

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