关于prolog的挑战性列表问题

时间:2011-05-13 14:26:45

标签: list prolog

我是prolog的新手。你能帮我解决这个问题。

考试(数学,保罗)。

考试(phys,paul)。

考试(cmpe,sofia)。

考试(生物,乔治)。

我想实现谓词otherExam(L,N)。 L是一节课,N是L学生所有课程(L除外)的列表。

otherExam(数学,X)。返回[phys]

otherExam(CMPE,X)。返回[]

otherExam(化学式中,X)。返回false(没有这样的教训)

otherExam(math,[phys])返回true

otherExam(X,[PHY的])。返回数学

我一直坚持这个问题。如果你帮助我,我将非常高兴:))

1 个答案:

答案 0 :(得分:0)

检查findall/3select/3

findall / 3用于从查询中获取所有可能的结果 例如,findall(X,ancestor(X,paul),L)会发现所有X如X都是保罗的祖先并将它们放在列表L中