我有車的列表(在德國汽車),其中第一個變量是車牌,第二個速度:序言 - 平均謂:參數不夠實例
[auto(eu-ts884, 69), auto(dn-gh184, 64), auto(ac-lj123, 72)].
現在我試着寫的平均謂詞,但它失敗,出現錯誤消息:
ERROR: Arguments are not sufficiently instantiated
到目前爲止我的代碼:
durchschnitt([], 0, 0).
durchschnitt([auto(_, X)|Tail], L, Y):-
Y is S/L,
L > 0,
cardinal([auto(_, X)|Tail], L),
sumKilometer([auto(_, X)|Tail], S).
sumKilometer([], 0).
sumKilometer([auto(_, X)|Tail], Sum) :-
sumKilometer(Tail, N),
Sum is N + X.
cardinal([], 0).
cardinal([_|Tail], Result) :-
cardinal(Tail, N),
Result is N + 1.
我的代碼與post相當,儘管我無法弄清楚我的錯誤。
注意:sumKilometer
和cardinal
工作正常。
' - L = [1,2,3,4,5],聚合((count,sum(N)),member(N,L),(Count,SumN)),Ave是SumN/Count。 L = [1,2,3,4,5], Count = 5, SumN = 15, Ave = 3 ' – CapelliC