Как переназначить переменную с помощью функции? - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть список с названием board, например:

board = [[0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0]]

Я написал функцию, которая выводит эту плату на консоль в виде доски судоку:

def print_board(bo):
    for i in range(len(bo)):
        if i % 3 == 0 and i != 0:
            print("- - - + - - - + - - -")

        for j in range(len(bo[0])):
            if j % 3 == 0 and j != 0:
                print("| ", end="")

            if j == 8:
                print(bo[i][j])
            else:
                print(str(bo[i][j]) + " ", end="")

print_board(board)

>>>
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
- - - + - - - + - - -
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
- - - + - - - + - - -
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0

Теперь я не хочу выводить эту плату на консоль, а переназначаю переменную плату на строку, которая является «преобразованной» платой. Как бы я это сделал?

1 Ответ

0 голосов
/ 27 апреля 2019

Просто подумайте о том, как ведет себя печать, затем назначьте пустую строку и продолжайте объединять все, что вы печатаете, с этой строкой.

Таким образом, для обычного print добавьте символ новой строки в конце строки, а для параметра print with end="" мы ничего не добавим, также преобразуем целое число в строку

def print_board(bo):

    s = ''
    for i in range(len(bo)):
        if i % 3 == 0 and i != 0:
            s += "- - - + - - - + - - -\n"

        for j in range(len(bo[0])):
            if j % 3 == 0 and j != 0:
                s += "| "

            if j == 8:
                s += str(bo[i][j])+'\n'
            else:
                s += str(bo[i][j]) + " "

    return s

Тогда ваш вывод будет

board = [[0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0],
         [0,0,0,0,0,0,0,0,0]]

print(print_board(board))
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
- - - + - - - + - - -
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
- - - + - - - + - - -
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
0 0 0 | 0 0 0 | 0 0 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...