我具有以下Prolog事实,可以对列表中的正数求和,但不起作用。我在做什么错?
somarPositivos([],0).
somarPositivos([H|T],Soma):-H>0,somarPositivos(T,Soma1),Soma is Soma1+H.
somarPositivos([H|T],Soma):-H=<0 ,somarPositivos(T,Soma1).
您在第三句中有错字。应该是:
somarPositivos([H|T],Soma):-H=<0 ,somarPositivos(T,Soma).
大多数Prolog编译器将打印警告,指出该子句中的变量Soma
和Soma1
是单个变量。