Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python在一个脚本中包含多个函数_Python_Syntax Error - Fatal编程技术网

python在一个脚本中包含多个函数

python在一个脚本中包含多个函数,python,syntax-error,Python,Syntax Error,这个tic-tac-toe脚本有问题。出于某种原因,我的“winner”函数导致了一个错误。但是,我调整了winner函数,在print语句之后的一行出现了语法错误。当我注释winner函数时,脚本按预期运行。我看不出语法错误在哪里。谢谢 def winner(board): if board[0][0]==board[0][1]==board[0][2] or board[1][0]==board[1][1]==board[1][2] or board[2][0]==board[2][

这个tic-tac-toe脚本有问题。出于某种原因,我的“winner”函数导致了一个错误。但是,我调整了winner函数,在print语句之后的一行出现了语法错误。当我注释winner函数时,脚本按预期运行。我看不出语法错误在哪里。谢谢

def winner(board):
    if board[0][0]==board[0][1]==board[0][2] or board[1][0]==board[1][1]==board[1][2] or board[2][0]==board[2][1]==board[2][2] or board[0][0]==board[1][0]==board[2][0] or board[0][1]==board[1][1]==board[2][1] or board[0][2]==board[1][2]==board[2][2] or board[0][0]==board[1][1]==board[2][[2] or board[0][2]==board[1][1]==board[2][0]:
        print('Player {} wins!!!'.format(player))
        return False
    else:
        return True

def move(coord, player):
    marker = ' X '
    if player == 2:
        marker = ' O '
    if coord == '0,0':
        board[0][0] = marker
    elif coord == '0,1':
        board[0][1] = marker
    elif coord == '0,2':
        board[0][2] = marker
    elif coord == '1,0':
        board[1][0] = marker
    elif coord == '1,1':
        board[1][1] = marker
    elif coord == '1,2':
        board[1][2] = marker
    elif coord == '2,0':
        board[2][0] = marker
    elif coord == '2,1':
        board[2][1] = marker
    elif coord == '2,2':
        board[2][2] = marker

board = [[(0,0), (0,1), (0,2)],
        [(1,0), (1,1), (1,2)],
        [(2,0), (2,1), (2,2)]]

turn = 2
while True:
    print('\n'.join(map(str, board)))
    player = turn % 2 + 1
    x = input('Player {}, where will you play? (i.e. 0,0 for upper left) '.format(player))
    move(x,player)
    winner(board)
    turn += 1

这只是一个简单的错误,你的代码是有效的:在条件的这一部分,你有一个额外的
[

board[0][0]==board[1][1]==board[2][[2]
拆下额外的支架,它将按预期工作

  • 我注意到了这一点,因为我将代码复制到了notepad++,当站在其中一个括号上时,它会高亮显示匹配的括号。
    我用箭头键浏览了整个情况,注意到它变成了红色:


第2行末尾:
board[0][0]==board[1][1]==board[2][[2]
。还有一个额外的左方括号。Awesomesauce。谢谢。有趣的是,python在语法错误的位置上错了。很高兴它起到了作用!欢迎使用StackOverflow!-注意,如果您收到的答案满足了您的要求,建议将该答案标记为所选答案,因此整个问题上的将被标记为已回答。如果您也认为某个答案是好的(无论您是否选择接受),您可以向上投票以表明该答案是有用的/有帮助的,或者向下投票(如果相反)。