List 如何只计算列表(PROLOG)中的数字元素,除了u?
这段代码告诉我列表中的零数。但是如果我的列表是List 如何只计算列表(PROLOG)中的数字元素,除了u?,list,prolog,List,Prolog,这段代码告诉我列表中的零数。但是如果我的列表是[0,0,0,0,0,,代码说有5个零 我写了这样的东西: count([], 0). count([H|T], N) :- count(T, X), ( H = 0 -> N is X+1 ; N is X ). 如何解决我的问题?如果写入H=0,则H与0统一,如果H为0或H不与任何东西统一,则此操作成功。 因此,您只需测试H是否等于0,使用=而不是=
[0,0,0,0,0,
,代码说有5个零
我写了这样的东西:
count([], 0).
count([H|T], N) :-
count(T, X),
( H = 0
-> N is X+1
; N is X
).
如何解决我的问题?如果写入H=0,则H与0统一,如果H为0或H不与任何东西统一,则此操作成功。 因此,您只需测试H是否等于0,使用=而不是=