8 ферзей "на шахматной доске" python. исправление ошибок

Помогите исправить ошибки. На выходе получается нужное мне решение, но при этом вылазят куча ошибок, таких как Attribute Error и т.д. Уже запуталась.  прикрепила скрин

введите сюда описание изображения

class NQueens:
    def __init__(self, size):
        self.size = size
        self.solve()

    def solve(self):
        positions = [-1] * self.size
        self.put_queen(positions, 0)

    def put_queen(self, positions, target_row):
        if target_row == self.size:
            self.show_full_board(positions)
            self.solutions += 1
        else:
            for column in range(self.size):
                if self.check_place(positions, target_row, column):
                    positions[target_row] = column
                    self.put_queen(positions, target_row + 1)


    def check_place(self, positions, ocuppied_rows, column):
        for i in range(ocuppied_rows):
            if positions[i] == column or \
                positions[i] - i == column - ocuppied_rows or \
                positions[i] + i == column + ocuppied_rows:
                return False
        return True

    def show_full_board(self, positions):
        for row in range(self.size):
            line = ""
            for column in range(self.size):
                if positions[row] == column:
                    line += "Q "
                else:
                    line += ". "
            print(line)
        print("\n")

    def show_short_board(self, positions):
        line = ""
        for i in range(self.size):
            line += str(positions[i]) + " "
        print(line)

def main():
    NQueens(8)

main()

Ответы (0 шт):