在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