python - 带有 Pyswip 的 Python 中的 Prolog 代码输出“无”
问题描述
我安装了 pyswip 包并尝试了以下代码:
from pyswip import Prolog,Query
prolog = Prolog()
prolog.assertz("minTime(4,Y):-Y>=4")
res = prolog.query("minTime(4,5)")
print(res)
但它输出“无”。它应该在 Swi-Prolog 中输出“True”。我想知道如何在 python 中输出“True”。
解决方案
如果你尝试help(prolog)
,你会找到答案。
这res
是一个 Python 生成器对象,它必须被转换为 Python 列表,它必须被转换为 Python bool,即
>>>bool(list(prolog.query("minTime(4,4)")))
True