Извлечение нестандартных оценок из комментариев PGN с помощью Python-chessPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Извлечение нестандартных оценок из комментариев PGN с помощью Python-chess

Сообщение Anonymous »

У меня есть файл PGN, который является результатом работы Cute Chess.

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

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} *
Я хочу написать программу на Python, чтобы прочитать ее. Мой код выглядит следующим образом:

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

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 . Там написано, что GameNode.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 ... thon-chess
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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