Поэтому у меня есть функция, которая использует, если заявления и имеет параметр массива 3х3 (в питон 3.3.5)Если заявления, работающие с массивом 3x3 не работает должным образом
def checkDiagonals (game_board):
match = 0
if game_board[0][0]==game_board[1][1] and game_board[0][1]==game_board[2][2] and game_board[1][1]==game_board[2][2]: #checks if diagonals equal each other
match = game_board[0][0]
if match == " ":
match = "NO WINNER"
match = 0
if game_board[0][2]==game_board[1][1] and game_board[0][2]==game_board[2][0]:
match = game_board[0][0]
if match == " ":
match = "NO WINNER"
return (match)
Проблема заключается в том,
print (checkDiagonals([["X", " ", " "], [" ", " ", " "], [" ", " ", " "]]))
дает X, когда он должен давать 0 или NO WINNER. Кто-нибудь хочет дать мне подсказку, почему это так? Я просто этого не вижу.
Второй 'if' оценивает значение' True'. Антидиагоны - все равно '' ''. Проблема в том, что после этого вы устанавливаете 'match = game_board [0] [0]', когда вы должны установить 'match = game_board [0] [2]' (я думаю ...) – Alec