ppe2/src/codewars/kata_tic_tac_toe_checker.py

30 lines
1.2 KiB
Python

def is_solved(board):
vertical_0 = [board[i][0] for i in range(len(board))]
vertical_1 = [board[i][1] for i in range(len(board))]
vertical_2 = [board[i][2] for i in range(len(board))]
diagonal_l = [board[i][i] for i in range(len(board))]
diagonal_r = [board[i][len(board) - 1 - i] for i in range(len(board))]
if len(set(board[0])) == 1 and 0 not in set(board[0]):
return board[0][0]
elif len(set(board[1])) == 1 and 0 not in set(board[1]):
return board[1][0]
elif len(set(board[2])) == 1 and 0 not in set(board[2]):
return board[2][0]
elif len(set(board[2])) == 1 and 0 not in set(board[2]):
return board[2][0]
elif len(set(vertical_0)) == 1 and 0 not in set(vertical_0):
return board[0][0]
elif len(set(vertical_1)) == 1 and 0 not in set(vertical_1):
return board[1][1]
elif len(set(vertical_2)) == 1 and 0 not in set(vertical_2):
return board[2][2]
elif len(set(diagonal_l)) == 1 and 0 not in set(diagonal_l):
return board[0][0]
elif len(set(diagonal_r)) == 1 and 0 not in set(diagonal_r):
return board[0][2]
elif 0 in board[0] or 0 in board[1] or 0 in board[2]:
return -1
else:
return 0