、Row-to-Column Transposition
mytable1 = [[0,0,0,0],[1,1,1,1],[0,0,0,0],[0,0,0,0]]
mytable2 = [[0,0,1,0],[0,0,1,0],[0,0,1,0],[0,0,1,0]]
mytable3 = [[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]
mytable4 = [[0,0,0,1],[0,0,1,0],[0,1,0,0],[1,0,0,0]]
mytable5 = [[0,1,0,0],[0,0,1,0],[0,1,0,0],[1,0,0,0]]
mytable6 = [[2,1,0,0],[2,0,1,0],[2,1,0,0],[2,0,1,0]]
mytable7 = [[2,1,0,0],[0,2,1,0],[0,1,2,0],[0,0,1,2]]
def hasWon(table,player_no):
#check rows
for row in table:
if all([e==player_no for e in row]):
return True
#check columns
for column in zip(*table):
if all([e==player_no for e in column]):
return True
#check diagonals
if all([table[i][i]==player_no for i in range(len(table)) ]):
return True
if all([table[-i-1][i]==player_no for i in range(len(table))]):
return True
return False
print(hasWon(mytable1,1))
print(hasWon(mytable2,1))
print(hasWon(mytable3,1))
print(hasWon(mytable4,1))
print(hasWon(mytable5,1))
print(hasWon(mytable6,2))
print(hasWon(mytable7,2))
出力用
とzip(*table)
表記:
True
True
True
True
False
True
True
あなたがしようとしています単純なネストされたforループを記述しますか? –
私は 'row> column'を試しましたが、私の友人は、その行の中の列とそれから行自体をループする必要があると言いました。 –
あなたが探しているかもしれません。 http://stackoverflow.com/questions/903853/how-do-you-extract-a-column-from-a-multi-dimensional-array –