这是数字井字游戏。我尝试使行,列或对角线的获胜条件加起来等于15。但是,“”不能更改为整数。我该怎么做才能避免这种情况?有人可以帮我吗?
这里是主要问题部分。
local_board = [['','0','1','2'],['0',' ',' ',' '],['1',' ',' ',' '],['2',' ',' ',' ']]
def isWinner(self):
if int(local_board[1][1]) + int(local_board[1][2]) + int(local_board[1][3]) == 15\
or int(local_board[2][1]) + int(local_board[2][2]) + int(local_board[2][3]) == 15\
or int(local_board[3][1]) + int(local_board[3][2]) + int(local_board[3][3]) == 15\
or int(local_board[1][1]) + int(local_board[2][1]) + int(local_board[3][1]) == 15\
or int(local_board[1][2]) + int(local_board[2][2]) + int(local_board[3][2]) == 15\
or int(local_board[1][3]) + int(local_board[2][3]) + int(local_board[3][3]) == 15\
or int(local_board[1][1]) + int(local_board[2][2]) + int(local_board[3][3]) == 15\
or int(local_board[1][3]) + int(local_board[2][2]) + int(local_board[3][1]) == 15:
print('Player '+ self.player +' wins. Congrats!')
self.continue_game = False
代替2D列表,创建2D numpy数组。您可以用NaN替换空白空间。其他所有内容均以整数形式输入。然后,您可以使用numpy.nansum函数来计算您对计算感兴趣的总和。