如何使用python3中的kanren模块对“大于”关系进行编码?

2024-09-29 02:25:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用python中的“kanren”模块对“大于”(例如,5大于3)关系进行编码。我在这里看到了一个示例:https://pypi.org/project/kanren/,并引用了“parent”关系部分。但是我想编码一个传递关系(“父的”不是传递的,但是“大于”是传递的),但是我找不到方法

我试着将“大于”关系成对编码,但没有给出所有答案

from kanren import facts, Relation, var
import sys
x = var()
larger = Relation()
facts(larger, ("A", "B"), ("B", "C"), ("C", "D"))
run(sys.maxsize, x, larger("A", x))

当我键入run(sys.maxsize,x,larger(“A”,x))时,只返回('C','B'),不返回('D','C','B')。所以run函数不会显示所有小于A的元素

有人知道如何使用kanren模块正确地“大于”关系来解决这个问题吗?非常感谢


Tags: 模块runhttpsimportpypi示例编码关系