for in range( )if self [ ][ ]==self [ ][ ]==self [ ][ ]!= return self [ ][cfor in range( )if self [ ][ ]==self [ ][ ]==self [ ][ ]!= return self [ ][ if self [ ][ ]==self [ ][ ]==self [ ][ ]!= return self [ ][ if self [ ][ ]==self [ ][ ]==self [ ][ ]!= return self [ ][ if self get_open_spots()==[]return return - this class consists of the logic of the game there is nothing in the class that is specific to the user interface below we have text-based interface using print and input statements if we decide to use graphical interfacewe can use the tic_tac_toe class without having to change anything about it note that the get_open_spots method is not used by this program it is usefulhoweverif you want to implement computer player simple computer player would call that method and use random choice method to choose random element from the returned list of spots def print_board()chars ''' '' 'for in range( )for in range( )print(chars[game [ ][ ]]end'print(game tic_tac_toe(while game check_for_winner()==- print_board( , eval(input'enter spotplayer str(game player'')game make_move( ,cprint_board( game check_for_winner(if == print("it ' draw "elseprint'player ' 'wins'here is what the first couple of turns look likeenter spotplayer ,