the whogoesfirst(function does virtual coin flip to determine whether the computer or the player goes first the coin flip is in calling random randint( if this function call returns the whogoesfirst(function returns the string 'computerotherwisethe function returns the string 'playerthe code that calls this function will use the return value to know who will make the first move of the game asking the player to play again def playagain() this function returns true if the player wants to play againotherwise it returns false print('do you want to play again(yes or no)' return input(lower(startswith(' 'the playagain(function asks the player if they want to play another game the function returns true if the player types in 'yes''yes'' 'or anything that begins with the letter for any other responsethe function returns false this function is identical to the one in the hangman game placing mark on the board def makemove(boardlettermove) board[moveletter the makemove(function is simple and only one line the parameters are list with ten strings named boardone of the player' letters (either 'xor ' 'named letterand place on the board where that player wants to go (which is an integer from to named move but wait second this code seems to change one of the items in the board list to the value in letter but because this code is in functionthe board parameter will be forgotten when the function returns shouldn' the change to board be forgotten as wellactuallythis isn' the case this is because lists are special when you pass them as arguments to functions you are actually passing reference of the list and not the list itself let' learn about the difference between lists and references to lists references try entering the following into the interactive shellspam cheese spam post questions to