2015-03-02 6 views
0

класса GameState:Невозможно изменить атрибут класса

def __init__(self): 
    '''initializes the players turn''' 
    self._player_turn = 'BLACK' 

board = [] 
def create_board2(self): 
    '''creates the board with the given number of rows and columns''' 
    new_game = GameState() 
    rows = [] 
    columns = [] 
    r = int(new_game.num_rows()) 
    c = int(new_game.num_columns()) 
    columns = [None] *c 
    for row in range(c): 
     columns[row] = ['.'] * r 
    middle = len(columns) // 2 
    columns[middle - 1][middle - 1] = 'B' 
    columns[middle - 1][middle] = 'W' 
    columns[middle][middle - 1] = 'W' 
    columns[middle][middle] = 'B' 
    new_board = self.board.append(columns) 
    print(new_board) 
    return new_board 

не печатает ничего. Я пытаюсь создать атрибут класса, который является списком. Мне нужно использовать его для различных функций.

+0

Можете ли вы отформатировать код; а также добавьте свой вопрос относительно того, что ваша задача, с чем вы столкнулись, и, самое главное, вопрос, на который можно ответить? – motoku

ответ

0

Ваш метод возвращает None, потому что вы возвращаете возвращаемое значение вашего звонка append; который составляет None. Вы можете обнаружить это поведение с:

print(type([].append(1))) 

Я думаю, что вы хотите сделать, это вернуть self.board или назначить self.board для new_board на отдельной строке.

+0

Это помогло спасибо! Я мог бы поклясться, что я уже это пробовал. – dustinyourface

Смежные вопросы