我正在使用 PySwip 库使用 Prolog 和 Python 编写程序。我需要将一个列表从 Python 传递给 Prolog。现在,我已经这样做了:
from pyswip import Prolog
p = Prolog()
p.assertz("fruits([apple,banana,orange])") # Создание списка
p.assertz("result(X) :- fruits(L), member(X, L)") # Правило вхождения элемента в список
print(list(p.query("result(orange)."))) # Возвращает True, если такой элемент есть в списке
但是我需要让列表成为一个单独的对象,因为我需要用它执行某些操作,然后如何将它发送到序言。我不知道如何实现它。
from pyswip import Prolog
p = Prolog()
fruits = [apple,banana,orange]
p.assertz("Как передать в Prolog список fruits???") # Я не знаю как это реализовать.
告诉我如何做到这一点?预先感谢大家的帮助。
结果,找到了解决方案。我会发布它以防它帮助某人。您只需要将列表作为字符串传递给查询,f-strings 最适合此。同样在此示例中,检查它是否适用于俄语字符。