0

私が書いた解決策がうまくいかない理由を知りたかった:

def transpose(sudoku):
    n = len(sudoku)
    l_tr = [0]*n
    k = 0
    tr_sudoku = [0]*n
    while k < n:
        tr_sudoku[k] = l_tr
        k = k+1  
    i = 0
    for i in range(len(sudoku)):
        j = 0
        for j in range(len(sudoku)):
            tr_sudoku[i][j] = sudoku[j][i]
            print j, i, tr_sudoku, sudoku[i][j]
        print tr_sudoku
return tr_sudoku

correct = [[1,2,3],[2,3,1],[3,1,2]]

print transpose(correct)

次の間違ったソリューションを出力します。

0 0 [[1, 0, 0], [1, 0, 0], [1, 0, 0]] 1
1 0 [[1, 2, 0], [1, 2, 0], [1, 2, 0]] 2
2 0 [[1, 2, 3], [1, 2, 3], [1, 2, 3]] 3
[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
0 1 [[2, 2, 3], [2, 2, 3], [2, 2, 3]] 2
1 1 [[2, 3, 3], [2, 3, 3], [2, 3, 3]] 3
2 1 [[2, 3, 1], [2, 3, 1], [2, 3, 1]] 1
[[2, 3, 1], [2, 3, 1], [2, 3, 1]]
0 2 [[3, 3, 1], [3, 3, 1], [3, 3, 1]] 3
1 2 [[3, 1, 1], [3, 1, 1], [3, 1, 1]] 1
2 2 [[3, 1, 2], [3, 1, 2], [3, 1, 2]] 2
[[3, 1, 2], [3, 1, 2], [3, 1, 2]]
[[3, 1, 2], [3, 1, 2], [3, 1, 2]]

助けていただければ幸いです!ありがとう。

以下に対する理想的な正しいソリューション:

correct = [[1,2,4],[2,3,4],[3,4,2]]

だろう:

tr_correct = [[1,2,3],[2,3,4],[4,4,2]]
4

1 に答える 1