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”