从类方法返回元组列表时,返回的列表为空。
在返回列表之前(这里,它包含所有元组)以及在调用方接收到列表之后(这里,所有元组都消失了),我尝试将列表打印到sys.stderr。我也尝试过将数据类型更改为元组的元组,但是问题仍然存在。我已仔细检查过,以便返回正确的变量。没有类似的变量名,但是我也尝试过更改变量名,但没有成功。
我正在Codeingame的环境中在Python 3上运行代码。这是我要编码的特定挑战:https://www.codingame.com/ide/puzzle/tic-tac-toe
class Boardstate:
def get_valid_moves(self):
valid_moves = []
for row in range(3):
for col in range(3):
sq = self.squares[row][col]
sq_valid_moves = [
(row*3 + j, col*3 + i) for (j, i) in sq.get_valid_moves()
]
valid_moves.extend(sq_valid_moves)
print(valid_moves, file=sys.stderr)
return valid_moves
valid_moves = temp_state.get_valid_moves() #temp_state is an instance of Boardstate
print(valid_moves, file=sys.stderr)
我希望在类方法外看到与在返回之前相同的元组列表。
答案 0 :(得分:0)
尝试像这样向self_moves添加自身:
class Boardstate:
def get_valid_moves(self):
self.valid_moves = []
for row in range(3):
for col in range(3):
sq = self.squares[row][col]
sq_valid_moves = [
(row*3 + j, col*3 + i) for (j, i) in sq.get_valid_moves()
]
self.valid_moves.extend(sq_valid_moves)
print(self.valid_moves, file=sys.stderr)
return self.valid_moves