input: 
  def play_tic_tac_toe():
      """Develop and run a Tic Tac Toe game in Python. The game should be able to handle player turns, check for wins, and determine if the game ends in a tie.
      >>> play_tic_tac_toe()
      Welcome to Tic Tac Toe!
      |   |   |   |
      |   |   |   |
      |   |   |   |
      Your turn player 1
      Enter your move (1-9): 1
      | X |   |   |
      |   |   |   |
      |   |   |   |
      Your turn player 2
      Enter your move (1-9): 5
      | X |   |   |
      |   | O |   |
      |   |   |   |
      ...
      X Wins! Congratulations!
      """
  
output:     print("Welcome to Tic Tac Toe!")
      board = [' ' for _ in range(9)]
      def print_board(board):
          print(f"| {board[0]} | {board[1]} | {board[2]} |")
          print(f"| {board[3]} | {board[4]} | {board[5]} |")
          print(f"| {board[6]} | {board[7]} | {board[8]} |")
  
      def check_win(board, player):
          win_conditions = [(0, 1, 2), (3, 4, 5), (6, 7, 8), (0, 3, 6), (1, 4, 7), (2, 5, 8), (0, 4, 8), (2, 4, 6)]
          for condition in win_conditions:
              if board[condition[0]] == board[condition[1]] == board[condition[2]] == player:
                  return True
          return False
  
      def is_full(board):
          return ' ' not in board
  
      current_player = 'X'
      while True:
          print_board(board)
          move = input(f"Your turn player {current_player}\nEnter your move (1-9): ")
          if not move.isdigit() or int(move) < 1 or int(move) > 9 or board[int(move) - 1] != ' ':
              print("Invalid move. Try again.")
              continue
          board[int(move) - 1] = current_player
          if check_win(board, current_player):
              print_board(board)
              print(f"{current_player} Wins! Congratulations!")
              break
          if is_full(board):
              print_board(board)
              print("It's a tie!")
              break
          current_player = 'O' if current_player == 'X' else 'X'