Как извлечь результаты в файл PGN с помощью функции Python Chess.pgn.read_gamePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как извлечь результаты в файл PGN с помощью функции Python Chess.pgn.read_game

Сообщение Anonymous »

PGN с такими счетами:
  • 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 с, нет результата} *
мой код такой следует:

Код: Выделить всё

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(), оба они не сработали.

Код: Выделить всё

game.variations[0].comment
может получить весь комментарий (+0,42/27 1,6 с). Мне нужна только первая часть 0.42.
Наконец-то мне удалось использовать дурацкий способ получить баллы.

Код: Выделить всё

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))
Должен быть простой способ сделать это.

Подробнее здесь: https://stackoverflow.com/questions/792 ... e-function
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»