нельзя использовать вопрос из файла вопросов pyke
Я новичок в pyke и пытаюсь построить минимальную систему, которая ставит вопрос. Я пробовал много вариантов, но ни один из них не показывает мне вопрос «У вас есть точильный станок?». Я ожидал, что мне придется ответить на этот вопрос хотя бы один раз. Программа выводит только окончательное «готово». Я не получаю сообщения об ошибке (за исключением предупреждения ниже). Что мне нужно изменить?
Когда я вызываю свой скрипт в первый раз (compiled_krb еще не создан), я получаю предупреждение:
C:\p\python-general\3.10.0\lib\site-packages\pyke\krb_compiler\kqb_parser.py:35: FutureWarning: Possible nested set at position 122
tokenizer = re.compile(r''' [ \t\f\r\v]* (?: \#.* )? (?:
writing [compiled_krb]/questions.qbc
writing [compiled_krb]/sharpening_bc.py
writing [compiled_krb]/compiled_pyke_files.py
Я работаю с Windows 10 и недавно скачал pyke3-1.1.1.zip. Я использую питон 3.10.
мой код драйвера таков:
import sys
sys.path.append('/p/pyke/pyke-1.1.1/pyke')
from pyke import knowledge_engine, krb_traceback
##########################################
engine = knowledge_engine.engine(__file__)
engine.reset()
engine.activate('sharpening')
try:
engine.prove_goal('sharpening.has_machine($ans)')
engine.prove_goal('sharpening.has_machine_yes()')
engine.prove_goal('sharpening.has_machine(someMachine)')
except Exception:
krb_traceback.print_exc()
sys.exit(1)
print('done')
содержимое файла sharpening.krb:
has_machine_yes
use has_machine(someMachine)
when
questions.has_machine_q(True)
has_machine_no
use has_machine(noMachine)
when
questions.has_machine_q(False)
мой файл вопроса:
has_machine_q($ans)
Do you have a sharpening machine?
---
$ans = yn