Есть два класса
Cell и
Board. В
Board создается список с экземплярами
Cell.
Кодclass Cell:
def __init__(self, index=0):
self.state = cell_states[index]
def is_empty(self):
if self.state == ' ':
return True
else:
return False
class Board:
def __init__(self):
self.cells = {index: Cell() for index in range(1, 10)}
def check_empty_cells(self):
if any([item.is_empty for item in self.cells.values()]):
return True
else:
return False
cell_states = [' ', 'x', 'o']
game = Board()
for cell in game.cells.values():
cell.state = cell_states[1]
print(cell.is_empty)
cell_1 = Cell()
print(cell_1.is_empty())
cell_1.state = cell_states[1]
print(cell_1.is_empty())
if game.check_empty_cells():
print('Свободные ячейки есть.')
else:
print('Свободных ячеек нет.')
Подскажите, почему не работает метод
is_empty класса
Cell когда вызывается в методе
check_empty_cells класса
Board. По идее должен получится список с вариациями
True и
False. Но в итоге получается список с такими элементами:
spoiler<bound method Cell.is_empty of <__main__.Cell object at 0x7fde96b53a30>>
Когда создаешь единичный экземпляр
Cell метод
is_empty работает нормально.