self.move_stack = []
with open(file_path) as f:
game = chess.pgn.read_game(f)
if game:
self.board = game.board()
self.move_stack = list(game.mainline_moves())
Он может извлекать ходы, но я не знаю, как извлечь такие значения, как 0,42.
Я читал документы о том, как для анализа файла PGN. Там написано, что eval() должен работать. Но я пробовал использовать game.eval() и game.variations[0].eval(), оба они не сработали.
может получить весь комментарий (+0,42/27 1,6 с). Мне нужна только первая часть 0.42.
Наконец-то мне удалось использовать дурацкий способ получить баллы.
PGN с такими счетами: [list] [*]e4 {+0,42/27 1,6 с} e5 {-0,21/26 5,4 с[*]Nf3 {+0,34/22 0,94s} Nc6 {-0,16/19 0,37s} [*]Bb5 {+0,35/27 2,1 с} Nf6 {-0,19/26 0,80 с [*]O-O {+0,33/22 0,56 с} Nxe4 {-0,16/26 0,92 с [*]Re1 {+0.29/27 1.0с} Nd6 {-0.19/24 0,66 с [*]Nxe5 {+0,32/24 0,59 с, нет результата} * [/list] мой код такой следует: [code]self.move_stack = []
with open(file_path) as f: game = chess.pgn.read_game(f) if game: self.board = game.board() self.move_stack = list(game.mainline_moves()) [/code] Он может извлекать ходы, но я не знаю, как извлечь такие значения, как 0,42. Я читал документы о том, как для анализа файла PGN. Там написано, что eval() должен работать. Но я пробовал использовать game.eval() и game.variations[0].eval(), оба они не сработали. [code]game.variations[0].comment[/code] может получить весь комментарий (+0,42/27 1,6 с). Мне нужна только первая часть 0.42. Наконец-то мне удалось использовать дурацкий способ получить баллы. [code]i=0 for x in move_comment: if x!= "/": i=i+1 else: break original_score=move_comment[0:i] The_original_scores.append(float(original_score)) [/code] Должен быть простой способ сделать это.