嘉兴港区规划建设门户网站,接网站制作,长春移动网站建设,四川省送变电建设有限责任公司网站转不到“玩家1”的原因是你的支票中缺少一个空格。你也没有正确地检查一个玩家何时获胜,这就是为什么你会有这种奇怪的行为。你需要检查每个位置,而不仅仅是最后一个。我还添加了对用户输入的检查,以确保用户输入的是一个数字,如果不是,它不会崩溃。我完全不明白为什么你基本上…转不到“玩家1”的原因是你的支票中缺少一个空格。你也没有正确地检查一个玩家何时获胜,这就是为什么你会有这种奇怪的行为。你需要检查每个位置,而不仅仅是最后一个。我还添加了对用户输入的检查,以确保用户输入的是一个数字,如果不是,它不会崩溃。我完全不明白为什么你基本上把你的板打印颠倒,但我留下了原来的。试试这个:import randomdef display_board(board): # Board setupprint(\n*100)print(board[7] | board[8] | board[9])print(board[4] | board[5] | board[6])print(board[1] | board[2] | board[3])def player_input(): # Player assignment - use while loop to keep asking until a valid character is enteredmarker while marker ! X and marker ! O:marker input(Player1: Choose X or O: ).upper()if marker X:return (X,O)else:return (O,X)def place_marker(board, marker, position): # Allows player to place their marker at specific board indexboard[position] markerdef win_check(board, mark): # Check all rows, columns, diagonals for sharing the same marker to check for a winnerreturn ((board[1] mark and board[2] mark and board[3] mark) or # Rows(board[4] mark and board[5] mark and board[6] mark) or(board[7] mark and board[8] mark and board[9] mark) or(board[1] mark and board[4] mark and board[7] mark) or # Columns(board[2] mark and board[5] mark and board[8] mark) or(board[3] mark and board[6] mark and board[9] mark) or(board[1] mark and board[5] mark and board[9] mark) or # Diagonals(board[3] mark and board[5] mark and board[7] mark))def choose_first(): # Randomize who goes firstflip random.randint(0,1)if flip 0:return Player 1else:return Player 2def space_check(board, position): # Check to see if a space on the board is still availablereturn board[position] def full_board_check(board): # Checks to see if board is full resulting in a drawfor i in range(1,10):if space_check(board,i): # If there is free space, board is NOT fullreturn Falsereturn Truedef player_choice(board): # Asks for the players next move choiceposition 0while position not in [1,2,3,4,5,6,7,8,9] or not space_check(board, position):try:position int(input(Choose a position: (1-9): ))except:print(Please enter a valid number.)return positiondef replay(): # Asks if the players want to play againchoice input(Play again? Enter Yes or No: )return choice Yes# Logic to run the game# While loop needed to keep running the game# Need to break out of the while loop on replay()print (Welcome to TIC TAC TOE)while True:# Game Setup (Board, Players, Player turns)the_board [ ]*10player1_marker,player2_marker player_input()turn choose_first()print(turn will go first)play_game input(Ready to play? y or n: )if play_game y:game_on Trueelse: game_on False# Game Playwhile game_on:if turn Player 1:# Show the boarddisplay_board(the_board)# Choose a place to moveposition player_choice(the_board)# Place the marker on the positionplace_marker(the_board,player1_marker,position)# Check if they wonif win_check(the_board,player1_marker):display_board(the_board)print(PLAYER 1 HAS WON!)game_on Falseelse:if full_board_check(the_board): # Check for tiedisplay_board(the_board)print(TIE GAME!)game_on Falseelse:turn Player 2else:# Show the boarddisplay_board(the_board)# Choose a place to moveposition player_choice(the_board)# Place the marker on the positionplace_marker(the_board,player2_marker,position)# Check if they wonif win_check(the_board,player2_marker):display_board(the_board)print(PLAYER 2 HAS WON!)game_on Falseelse:if full_board_check(the_board):display_board(the_board)print(TIE GAME!)game_on Falseelse:turn Player 1if not replay():break