нельзя использовать вопрос из файла вопросов 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

0 ответов

Другие вопросы по тегам