Почему создание отношений в pyDatalog, кажется, дает мне неправильный ответ?

Я новичок в понятиях Datalog, и я изучаю его через 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

1 ответ

Решение

Это ошибка. Исправление теперь выполняется в наборе изменений b1a5df9 и будет доступно в следующем выпуске. В то же время, вы можете применить изменения в вашей системе.

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