Python 检查我的元组并更改给定值
所以,我在做一个三元组的tic-tac-toe游戏。(3x3矩阵) 我的职能是: def do_位置(棋盘、玩家、位置): 我想用新值返回我的新板,如下所示: 董事会=((1,-1,0)、(1,0,-1)、(1,-1,0)) do_位置(板-1,5) ((1,-1,0),(1,-1,-1),(1,-1,0)) board是我的元组,player将是一个值(-1(对于0播放器)或1(对于X播放器)),position是我的元组位置,我想在其中放置int(-1或1) 我知道我必须把我的元组转换成列表,这样我才能达到我想要的位置,但我已经尝试了很多方法,我的输出仍然返回我的初始板,没有任何更改。 以下是我的一个尝试:Python 检查我的元组并更改给定值,python,list,indexing,tuples,Python,List,Indexing,Tuples,所以,我在做一个三元组的tic-tac-toe游戏。(3x3矩阵) 我的职能是: def do_位置(棋盘、玩家、位置): 我想用新值返回我的新板,如下所示: 董事会=((1,-1,0)、(1,0,-1)、(1,-1,0)) do_位置(板-1,5) ((1,-1,0),(1,-1,-1),(1,-1,0)) board是我的元组,player将是一个值(-1(对于0播放器)或1(对于X播放器)),position是我的元组位置,我想在其中放置int(-1或1) 我知道我必须把我的元组转换成列表
def do_position(board,player, position):
newboard = ()
position=[1,2,3,4,5,6,7,8,9]
player = (-1,1)
for p in position:
board[position[p]-1] = player[p]
for position,player in enumerate(board):
if player == 1:
board[position] = 1
elif player == -1:
board[position] = -1
return newboard
有人能提供一些帮助吗?元组是不可变的,这意味着您不能更改元组的值。 到目前为止,你有3个选择--
board=[[1,-1,0],[1,0,-1],[1,-1,0]]
def do_position(board,player, position):
position-=1
row,col=position//3,position%3
board[row][col]=player
return board
board = [[1,-1,0],[1,0,-1],[1,-1,0]]
do_position(board, -1, 3)
对于元组板:
def tuple_to_list(board):
return [list(x) for x in board]
def list_to_tuple(board):
return tuple([tuple(x) for x in board])
def do_position(board,player, position):
temp_board=tuple_to_list(board)
position-=1
row,col=position//3,position%3
temp_board[row][col]=player
return list_to_tuple(temp_board)
board = ((1,-1,0),(1,0,-1),(1,-1,0))
do_position(board, -1, 3)
您能给出
def do_位置(棋盘、玩家、位置):
功能代码??您正在返回新棋盘。当你对newboard做了更改时???@akash没错!我没有!我需要一些东西来查看我的位置是否为0,以便我可以为玩家更改该位置(-1或1)检查答案是否满足您的需要谢谢@akash!只有一件事,我的董事会是一个元组。我需要把函数放进去,对吗?我希望这样做:>board=((1,-1,0),(1,0,-1,0),>do_position(board,-1,5)只要转换tuple-->列表-->tuple
@CateC我已经更新了答案。如果没有问题,请核对正确答案谢谢!你帮了我很多!你能帮我再问一个问题吗?