打印出数独板上方框内的元素
printing out the elements in a box in a Sudoku board
例如,我有一个像这样的 9x9 数独板:
big = [[0, 0, 0, 0, 0, 0, 0, 0, 0],
[4, 0, 0, 7, 8, 9, 0, 0, 0],
[7, 8, 0, 0, 0, 0, 0, 5, 6],
[0, 2, 0, 3, 6, 0, 8, 0, 0],
[0, 0, 5, 0, 0, 7, 0, 1, 0],
[8, 0, 0, 2, 0, 0, 0, 0, 5],
[0, 0, 1, 6, 4, 0, 9, 7, 0],
[0, 0, 0, 9, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 3, 0, 0, 0, 2]]
我有一个函数:def subgrid_values(board,r,c)
board
接受棋盘的大小,在这种情况下很大。 r
取行,c
取列。
所以如果我输入 subgrid_values(big,4,5)
它会给我一个输出 [3,6,7,2]
我正在尝试输出该列表,但我不知道如何输出
我希望这能让它更清楚。
其中一种解决方案是获取子网格的起始索引,并在行和列上循环三次,如下所示:
def solution(big, r, c):
output = []
row_start_index = (r // 3) * 3
col_start_index = (c // 3) * 3
for ri in range(row_start_index, row_start_index + 3):
for ci in range(col_start_index, col_start_index + 3):
if big[ri][ci]:
output.append(big[ri][ci])
return output
例如,我有一个像这样的 9x9 数独板:
big = [[0, 0, 0, 0, 0, 0, 0, 0, 0],
[4, 0, 0, 7, 8, 9, 0, 0, 0],
[7, 8, 0, 0, 0, 0, 0, 5, 6],
[0, 2, 0, 3, 6, 0, 8, 0, 0],
[0, 0, 5, 0, 0, 7, 0, 1, 0],
[8, 0, 0, 2, 0, 0, 0, 0, 5],
[0, 0, 1, 6, 4, 0, 9, 7, 0],
[0, 0, 0, 9, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 3, 0, 0, 0, 2]]
我有一个函数:def subgrid_values(board,r,c)
board
接受棋盘的大小,在这种情况下很大。 r
取行,c
取列。
所以如果我输入 subgrid_values(big,4,5)
它会给我一个输出 [3,6,7,2]
我正在尝试输出该列表,但我不知道如何输出
我希望这能让它更清楚。
其中一种解决方案是获取子网格的起始索引,并在行和列上循环三次,如下所示:
def solution(big, r, c):
output = []
row_start_index = (r // 3) * 3
col_start_index = (c // 3) * 3
for ri in range(row_start_index, row_start_index + 3):
for ci in range(col_start_index, col_start_index + 3):
if big[ri][ci]:
output.append(big[ri][ci])
return output