我正在写一个程序来检查数独是否解决了。我想不出重构的方法:
for i in range(0, 9):
for j in range(0, 9):
if i < 3:
if j < 3:
one.append(sudoku[i][j])
if j >= 3 and j < 6:
two.append(sudoku[i][j])
if j >= 6:
three.append(sudoku[i][j])
if i >= 3 and i < 6:
if j < 3:
four.append(sudoku[i][j])
if j >= 3 and j < 6:
five.append(sudoku[i][j])
if j >= 6:
six.append(sudoku[i][j])
if i >= 6:
if j < 3:
seven.append(sudoku[i][j])
if i >= 6 and j >= 3 and j < 6:
eight.append(sudoku[i][j])
if j >= 6:
nine.append(sudoku[i][j])
谢谢!你知道吗
把你所有的方块
one
,two
,等等。。。在数组中。然后根据i
和j
选择数组中的正确块。基本上,你需要这个索引:你在做整数除法。你知道吗
尝试使用二维阵列来容纳对象并按如下方式映射它们:
如果您使用的是python3,那么您将用Padraic指出的
square = mapping[int(i/3)][int(j/3)]
或square = mapping[i//3][j//3]
替换square = mapping[i/3][j/3]
原因是Python2将向下取整并返回除法的
int
,其中as Python3将返回float
。施法到int
将向下取整。你知道吗相关问题 更多 >
编程相关推荐