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

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

Сообщение Anonymous »

PGN с такими оценками:

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

1. e4 {+0.42/27 1.6s} e5 {-0.21/26 5.4s}
2. Nf3 {+0.34/22 0.94s} Nc6 {-0.16/19 0.37s}
3. Bb5 {+0.35/27 2.1s} Nf6 {-0.19/26 0.80s}
4. O-O {+0.33/22 0.56s} Nxe4 {-0.16/26 0.92s}
5. Re1 {+0.29/27 1.0s} Nd6 {-0.19/24 0.66s}
6. Nxe5 {+0.32/24 0.59s, No result} *
мой код выглядит следующим образом:

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

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»