没有明显原因的代码抛出语法错误

时间:2019-11-22 21:58:15

标签: python-3.x syntax-error

我的代码当前如下所示:

def teams_and_games(list, player, idx):
    teams = []
    player_values = []
    x = 0
    y = 0
    for rows in list:
        if player == list[x][BD.player_id] and list[x][BD.player_id] not in teams:
            teams.append(list[x][BD.team])
            player_values.append([list[x][idx]]
            x += 1                
        elif player == list[x][BD.player] and list[x][BD.player_id] in teams:
            player_values[y].append(list[x][idx])
            y += 1
    return player_values, teams

其中一些代码可能不正确或格式不正确-我仍在研究中。但是,当它运行时,它会在x += 1语句上引发语法错误,说这是无效的语法,尽管上面的代码中使用了相同的语句也没有问题。如果删除该语句,它将在下一行的elif部分引发另一个语法错误-而不是逻辑语句或其任何其他部分。我不知道为什么会这样,因为产生错误的部分似乎格式化得很好。

编辑-我是个盲目的白痴。谢谢!

1 个答案:

答案 0 :(得分:2)

罪魁祸首:teams.append(list[x][BD.team]-缺少括号

def teams_and_games(list, player, idx):
    teams = []
    player_values = []
    x = 0
    y = 0
    for rows in list:
        if player == list[x][BD.player_id] and list[x][BD.player_id] not in teams:
            teams.append(list[x][BD.team])
            player_values.append([list[x][idx]])
            x += 1                
        elif player == list[x][BD.player] and list[x][BD.player_id] in teams:
            player_values[y].append(list[x][idx])
            y += 1
    return player_values, teams