Python 如何组合两个嵌套for循环?
所以我有这个代码来检查第行和第列的tic-tac-toe赢家:Python 如何组合两个嵌套for循环?,python,for-loop,Python,For Loop,所以我有这个代码来检查第行和第列的tic-tac-toe赢家: for row in range(rows): symbols_in_row = 0 for column in range(columns): if grid[row][column] == player_symbol: symbols_in_row += 1 if symbols_in_row == winning_line:
for row in range(rows):
symbols_in_row = 0
for column in range(columns):
if grid[row][column] == player_symbol:
symbols_in_row += 1
if symbols_in_row == winning_line:
return True
else:
symbols_in_row = 0
for column in range(columns):
symbols_in_column = 0
for row in range(rows):
if grid[row][column] == player_symbol:
symbols_in_column += 1
if symbols_in_column == winning_line:
return True
else:
symbols_in_column = 0
如何在一个循环中完成它?如果您可以使用NumPy,您可以使用它的求和方法来确定您是否赢了。将player1设为1,将player2设为-1,将无条目设为0。如果行、列或对角线的总和为+3或-3,则玩家获胜
将numpy导入为np
矩阵=np.零([3,3])
行总和=矩阵总和(轴=1)
列总和=矩阵总和(轴=0)
diag1_sum=np.轨迹(矩阵)
diag2_sum=np.trace(np.flip(矩阵,轴=1))
对于[row_sum,col_sum,diag1_sum,diag2_sum]中的i:
如果(i中的3个或i中的-3个):#检查哪一个有一个取决于您
印刷品(“胜利”)
您的问题中目前没有足够的信息来回答。不管怎样,假设这是可能的,你为什么要这样做,因为它可能需要一些非常复杂的代码。你说的是这4个循环中的哪2个?你认为把它们结合起来有什么好处?你的抽搐脚趾有多大?它是普通的3x3吗?@ThomasWeller不,它是可选的。从用户输入。