Python 3.x 如果语句工作不正常,则为tic-tac-toe游戏开发check_-win函数

Python 3.x 如果语句工作不正常,则为tic-tac-toe游戏开发check_-win函数,python-3.x,Python 3.x,请让我知道我在哪里犯了错误: def display_board(board): print(board[7] + '|' + board[8] + '|' + board[9] ) print(board[4] + '|' + board[5] + '|' + board[6]) print(board[1] + '|' + board[2] + '|' + board[3]) return test_board1 = ['#','0','X','0'

请让我知道我在哪里犯了错误:

def display_board(board):


    print(board[7] + '|' + board[8] + '|' + board[9] )

    print(board[4] + '|' + board[5] + '|' + board[6])

    print(board[1] + '|' + board[2] + '|' + board[3])
    return

test_board1 = ['#','0','X','0','X','0','X','0','X','0']

def win_check(board,marker):

        if board[1] == marker and board[2] == marker and board[3] == marker :
            print('won')
        elif board[4] == marker and board[5] == marker and board[6] == marker:
            print('won')
        elif board[7] == marker and board[8] == marker and board[9] == marker:
            print('won')
        elif board[1] == marker and board[4] == marker and board[7] == marker:
            print('won')
        elif board[2] == marker and board[4] == marker and board[8] == marker:
            print('won')
        elif board[3] == marker and board[6] == marker and board[9] == marker:
            print('won')
        elif board[1] == marker and board[5] == marker and board[9] == marker:
            print('won')
        elif board[3] == marker and board[5] == marker and board[7] == marker:
            print('won')

display_board(test_board1)
win_check(test_board1, 'X')

你差不多到了。这一行是导致您出现问题的原因:

        elif board[2] == marker and board[4] == marker and board[8] == marker:
应该是:

        elif board[2] == marker and board[5] == marker and board[8] == marker:

请解释您希望此代码执行的操作,以及它执行的操作与您的期望不同。如果您在任何特定行或列(包括显示板的两条对角线)中使用相同的标记,我希望打印“赢”。在上述场景中,语句“win_check(test_board1,'X')”不满足任何if语句,但其输出仍然为“win”