Я новичок в концепциях Datalog, и я изучаю его через pyDatalog. Я экспериментирую с единым измерительным преобразователем. Итак, учитывая факты о том, сколько дюймов в метре, например, должно быть способно рассказать мне, сколько метров в дюйме. Вот мой код:Почему создание отношений в pyDatalog кажется мне неправильным?
from pyDatalog import pyDatalog
from pyDatalog.pyDatalog import create_terms as cterms
pyDatalog.create_terms('scale') # the long way of doing it
cterms('A, B, V')
scale['meter', 'inch'] = 39.3707787
scale[A, B] = 1/ scale[B, A]
print(scale['inch', 'meter'] == V)
Wny программа не вписывает дюймы в метры правильно? Он должен видеть, что есть 39,37 дюйма в метре, и применять обратное правило, чтобы преобразовать другой путь. Поэтому он должен распечатать 0.0234, но он на самом деле распечатывает
V
----------
39.3707787
Возможно, лучший тег поможет людям найти этот вопрос. Он, похоже, не имеет никакого отношения к логическому программированию, но к Python. –
Я не согласен. На странице «Поддержка и сообщество» в [link] (https://sites.google.com/site/pydatalog/support) указано: «Пожалуйста, задавайте вопросы об использовании pyDatalog на StackOverflow (обязательно добавьте тег логического программирования в нижней части формы). " – blippy
Извините, я не знал об этом. Спасибо за исправление. –