As you may have guessed, we are trying to build up to a full tic-tac-toe board. However, this is significantly more than half an hour of coding, so we’re doing it in pieces.
Today, we will simply focus on checking whether someone has WON a game of Tic Tac Toe, not worrying about how the moves were made.
If a game of Tic Tac Toe is represented as a list of lists, like so:
0 means an empty square, a
1 means that player 1 put their token in that space, and a
2 means that player 2 put their token in that space.
Your task this week: given a 3 by 3 list of lists that represents a Tic Tac Toe game board, tell me whether anyone has won, and tell me which player won, if any. A Tic Tac Toe win is 3 in a row - either in a row, a column, or a diagonal. Don’t worry about the case where TWO people have won - assume that in every board there will only be one winner.
Here are some more examples to work with:
This exercise is challenging, but doable with only lists (of lists)! Lists of lists are nearly the same as lists, just a bit trickier. Remember that to get the first element in a list called
my_list = [5, 10, 15], you index it with a variable like so:
When working with lists of lists, it is the same! Say you have a list
matrix = [[1, 2], [3, 4]]. Then, take a look at this:
The cool part is that you can use double-indexing to read the elements from our list of lists
matrix! By indexing
matrix we are saying give me the 1st element of the 0th element of
matrix, which in this case is