1
这是事实陈述和规则:如何在Prolog规则语句中添加2个变量?
%Fact statement
fare(asiawing,kch_brisbane,adult,330).
fare(asiawing,kch_brisbane,child,180).
fare(asiawing,kl_paris,adult,690).
fare(asiawing,kl_paris,child,550).
%Rule statement
totFareAsiaWing(T,D,C) :-
fare(asiawing,D,C,F),
T is F*1.45.
totAmountAsiaWing(Z,D) :-
( write('num of adult passenger :'),
read(X),
number(X),
totFareAsiaWing(T,D,adult),
Z1 is X*T
; write('num of child passenger :'),
read(Y),
number(Y),
totFareAsiaWing(T,D,child),
Z2 is Z1+Y*T,
write(Z2)
).
如何添加Y*T
Z
为X*T
和Z
?我想补充,但它给了我
ERROR: is/2: Arguments are not sufficiently instantiated
我做到了,但它给了我错误:is/2:参数没有被充分实例化。 - @ lurker – Rez
“is”右边的所有变量都必须有一个值,否则你会得到那个错误。所以你需要确保'T','X'和'Y'首先有值。 – lurker
那么,我的代码是否正确?我已经填充了'X'和'Y'值。 'T'也一样。但它不断执行该错误。 – Rez