ユーザーが挿入した番号がすでに列、行、または「ブロック」にあるかどうかを確認する必要があります(まだ最後の部分に取り組んでいます)。何らかの理由でこれらのチェックが機能せず、その理由がわかりません。
シェルで同じコードを書いたところ、問題なく動作しました。
私のコード:
def is_valid_move(board,row, column, digit):
if digit in board[row]:
print "Row already contains", digit
return (False)
else:
return (True)
for i in range(9):
if digit in board[i][row]:
print "Colum already contains", digit
return (False)
break
else:
return (True)
board = [[3,7,0,0,5,0,0,0,0],
[0,6,0,0,3,0,2,0,0],
[0,2,9,4,0,0,0,7,8],
[0,0,4,1,7,0,0,8,0],
[0,0,6,3,0,5,9,0,0],
[0,5,0,0,8,4,1,0,0],
[7,1,0,0,0,8,5,6,0],
[0,0,5,0,1,0,0,2,0],
[0,0,0,0,9,0,0,1,3]]
a=is_valid_move(board,1, 2, 9)
print a
私が得る出力:
True
番号がすでにボックスにあるかどうかを確認する方法はありますか?
ありがとう!