Так что, в основном, я пытаюсь использовать Python 3 для создания решения sudoku путем реализации backtracking как учебного проекта, поэтому я пока не буду совершенной эффективности (я собираюсь переписать его потом, чтобы попытаться получить его лучше, у меня есть избыточные переменные и другие случайные вещи), просто заставляя его работать. Однако, пока я работаю над этим, отладка становится проблемой, и я хочу отформатировать сетку, которую я использую лучше, поскольку она идет, но я действительно не знаю, как это сделать. Это, как я сейчас хранить его:Формирование сетей Sudoku Python 3
grid = [
[4, 0, 0, 0, 0, 5, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 9, 8],
[3, 0, 0, 0, 8, 2, 4, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 8, 0],
[9, 0, 3, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 3, 0, 6, 7, 0],
[0, 5, 0, 0, 0, 9, 0, 0, 0],
[0, 0, 0, 2, 0, 0, 9, 0, 7],
[6, 4, 0, 3, 0, 0, 0, 0, 0],
]
Но я хочу, чтобы вывести его в таком роде формат:
-------------------------------------
| 4 | 5 | |
| + + + + + + + + |
| | | 1 9 8 |
| + + + + + + + + |
| 3 | 8 2 | 4 |
|---+---+---+---+---+---+---+---+---|
| | 1 | 8 |
| + + + + + + + + |
| 9 3 | | |
| + + + + + + + + |
| | 3 | 6 7 |
|---+---+---+---+---+---+---+---+---|
| 5 | 9 | |
| + + + + + + + + |
| | 2 | 9 7 |
| + + + + + + + + |
| 6 4 | 3 | |
-------------------------------------
(включая изменение 0s в пустые пространства)
Прямо сейчас я просто использую pprint.pprint для печати, но это становится сложной задачей. Как полное программирование noob, как я могу эффективно форматировать сетку?
EDIT: Мог ли я знать, почему я получаю downvoted? Несколько минут назад я сделал свой вопрос, чтобы задать этот вопрос, но я думаю, что предоставил достаточно информации, и я не могу найти этот вопрос в Stack Overflow.
Конечно, извините, я просто с помощью стиля форматирования Я столкнулся в Интернете. – m4ge
Я считаю, что вы были заблокированы, потому что у вас нет собственного кода. Просто заявить, что у вас есть код, недостаточно. Пожалуйста, покажите нам, что вы сделали. Кроме того, вы не определили «эффективно»: Pythonic, несколько строк кода, использование небольшой памяти, быстрая скорость или другое? Кроме того, ваши два примера не соответствуют друг другу. Кроме того, печать варьируется между Python 2.x и 3.x.Какую версию Python вы используете? –
Извините, когда я имею в виду, что это неэффективно, я имею в виду, что это своего рода беспорядок, не очень прокомментированный, структура, которая, вероятно, заставит опытного программиста сжать, избыточные переменные и т. Д. Я использую python 3. Я добавлю некоторые из этих вещей для тела. – m4ge