计算正确答案的数目并检查..prolog

2024-06-01 09:38:20 发布

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

我想在我的prolog数据库中插入一个谓词,它可以找到所有少于两种常见类型的电影。 same problem

prolog.assertz('(havesamegenre(X, Y) :- genre(X, G), genre(Y, G), X \= Y )')
prolog.assertz('(not_relative_genre(X, Y) :- aggregate_all(count, havesamegenre(X ,Y), Count), X \= Y, Count < 2)')

调用上述代码:

movie = "Star Wars: Episode III - Revenge of the Sith"
q = prolog.query("not_relative_genre('" + movie +"',M)")
ans = []
for soln in q:
    if soln["M"] not in ans:
        ans.append(soln["M"])
print (ans[:10] )

我得到一个空列表,尽管在我的数据库中有满足这个谓词的答案。你知道吗


Tags: in数据库类型电影countnotmovieprolog