在我的数独求解器中,我正在努力获得良好的显示效果,但我遇到了问题
目前我已经:
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...
答案 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])