@@ -0,0 +1,585 @@
+# coding: utf-8%0A%0Adef border_line():%0A    return ('=' * 7).join('+' * 4)%0A%0Adef get_fmt(i):%0A    return '%7B%7D' if i %25 3 else '+ %7B%7D'%0A%0Adef sudoku_line(i, line):%0A    s = '' if i %25 3 else border_line() + '%5Cn'%0A    return s + ' '.join(get_fmt(i).format(x if x != '0' else '_')%0A        for i, x in enumerate(line)) + ' +'%0A%0Adef sudoku_board(board):%0A    return '%5Cn'.join(sudoku_line(i, line) for i, line in enumerate(board.splitlines())) + '%5Cn' + border_line()%0A%0Aboard = '''123456789%5Cn234567890%5Cn345678901%5Cn456789012%0A567890123%5Cn678901234%5Cn789012345%5Cn890123456%5Cn901234567'''%0A%0Aprint(sudoku_board(board))%0A

Create sudoku_print.py