在gnu Prolog中,我试图在学院顾问程序中收集所有大学学分的总和。Prolog数字不在列表中的总和
目前,它返回类似这样的积分数:
| ?- totalCredits(joe, X).
X = 3 ? ;
X = 3 ? ;
X = 3 ? ;
X = 1 ? ;
X = 3 ? ;
X = 3 ? ;
no
这是代码示例:
totalCredits(Student, Credits) :-
class(Class, _, _),
creditFor(Student, Class, _),
class(Class, _, Credits).
所以我的问题是如何能我总结了所有这些成绩的?我对prolog完全陌生,以前只使用过功能语言,所以也许我完全错过了某些东西。
“class/3”的第二个参数是什么?这可能会影响结果(并使当前答案无效)。 – false
类的第二个参数是类的字符串名称(用于打印输出的美观效果)。 – lildigiman
然后它很好。如果第二个参数可能是,例如它用于的课程(例如CS为2个学分,Math为1个学分),则需要一些预防措施来避免重复计数。 – false