【发布时间】:2015-10-13 17:33:17
【问题描述】:
我有 3 个列表。前两个列表的元素数量相加并与第三个列表compare(List1,List2,List3) 进行比较。检查前两个列表的总和以查看元素总数是否小于或等于第三个列表中的元素数。这是我目前拥有的。我收到Total is Total+1 的错误。
lessThanEq(List1, List2, List3) :-
T1 is 0,
T2 is 0,
T3 is 0,
addUp(List1, T1),
addUp(List2, T2),
addUp(List3, T3),
T1 is T1+T2,
T1 =< T3.
addUp([Head|Tail], Total) :-
addUp(Tail, Total1),
Total is Total1+1.
这是我目前所拥有的。
【问题讨论】:
-
您不能在谓词子句中重新分配变量值。所以
T1 is T1 + T2总是会失败(T1不能是它本身加上T2的值),除非T2的值恰好为零。