5 def __init__(self, lines):
15 self.board.append([int(n) for n in line.strip().split()])
17 def number_called(self, number):
18 for i, row in enumerate(self.board):
19 for j, n in enumerate(row):
21 self.called[i][j] = True
28 for i, row in enumerate(self.called):
32 cols_called = list(zip(*self.called))
33 cols_board = list(zip(*self.board))
34 for j, col in enumerate(cols_called):
35 if col == tuple([True] * 5):
44 if not self.called[i][j]:
45 score += self.board[i][j]
46 print(self.board[i][j])
52 with open("4_input.txt") as f:
53 bingo_calls = [int(n) for n in f.readline().split(",")]
56 for i in range(0, len(lines), 6):
57 bingo_boards.append(BingoBoard(lines[i+1:i+6]))
59 for call in bingo_calls:
61 for board in bingo_boards:
62 won = board.number_called(call)
64 if len(bingo_boards) == 1:
65 score = board.get_score()
73 bingo_boards = to_keep