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