列表中的序言正数

问题描述 投票:0回答:1

我具有以下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).
list sum prolog swi-prolog
1个回答
0
投票

您在第三句中有错字。应该是:

somarPositivos([H|T],Soma):-H=<0 ,somarPositivos(T,Soma).

大多数Prolog编译器将打印警告,指出该子句中的变量SomaSoma1单个变量

© www.soinside.com 2019 - 2024. All rights reserved.