由于我是Prolog的新手,所以我制作了这个程序,但是遇到很多麻烦可以帮助我吗?
下面是我的代码:
android(samsung,s10,brown,90000).
android(huwawei,mate10lite,black,34000).
android(oppo,f9,blue,20000).
featured(nokia,1110,brown,10000).
featured(qmobile,q3,black,24000).
featured(gfive,g300,blue,30000).
amount(X,Y,Z,A):-
android(X,Y,Z,A),
A > 25000,
featured(X,Y,Z,A),
A>25000.
fun:-
amount(X,Y,Z,A),
writef("cellphone having less than 25K is",[X],[Y],[Z],[A]),
fail.
我不知道如果有人可以提供帮助,请怎么解决。每当我打趣的时候,它就会返回false。
显然,
amount(X,Y,Z,A):-
android(X,Y,Z,A), <---+
A > 25000, +--- exactly as for X,Y,Z, this is the SAME A
featured(X,Y,Z,A), <---+
A>25000. <------- ... so you've already tested this!
您真的想拥有一个B
:
amount(X,Y,Z,A):-
android(X,Y,Z,A),
A > 25000,
featured(X,Y,Z,B),
B =< 25000.
以及为什么在fail.
末尾fun
?听起来一点都不有趣!