显示功能错误

时间:2016-05-08 16:10:29

标签: python python-3.x

在我的数独求解器中,我正在努力获得良好的显示效果,但我遇到了问题

目前我已经:

def show_sudoku(sudoku):
    for i, row in enumerate(sudoku, 1):
        print("|".join(row))
        if i % 3 == 0:
            print("-"*17)
    print("")

所以现在,它看起来像这样:

111 111 111
111 111 111
111 111 111
-----------
111 111 111

这样的完美。

现在,事实上我想要这个' |'每3列我都试过这样:

print('|'.join(row[i:i+3] for i in range(0, 9, 3)))

但我有:

"TypeError: sequence item 0: expected str instance, list found" 

到底出了什么问题?我怎么能纠正这个?

111|111|111
111|111|111
111|111|111
-----------
111|111|111
etc...

2 个答案:

答案 0 :(得分:0)

添加括号以创建列表解析:

print('|'.join([row[i:i+3] for i in range(0, 9, 3)]))

答案 1 :(得分:0)

试试这个:

print("|".join([str(i) for i in row])