在prolog中使用变量作为参数
我正在尝试使用Prolog(amzi)创建一个自动售货机逻辑,但是处理参数非常困难。到目前为止,我有:在prolog中使用变量作为参数,prolog,Prolog,我正在尝试使用Prolog(amzi)创建一个自动售货机逻辑,但是处理参数非常困难。到目前为止,我有: drink(soda,1). drink(coffee,4). drink(tea,3). drink(mango,7). drink(apple,5). machine:- write('choose a drink: pepsi, coffee, tea, mango'), nl, read(X), nl, drink(X,C). 我得到的结果是: ?-
drink(soda,1).
drink(coffee,4).
drink(tea,3).
drink(mango,7).
drink(apple,5).
machine:-
write('choose a drink: pepsi, coffee, tea, mango'),
nl,
read(X),
nl,
drink(X,C).
我得到的结果是:
?- machine.
choose a drink: pepsi, coffee, tea, mango
mango.
yes
在我输入饮料名称后,我想知道饮料的价格,关于如何处理这个问题有什么建议吗
p、 在查询的开头输入饮料的名称是不符合逻辑的,因为客户应该看到列表,然后选择一种饮料 你只要把它写出来就行了。用户输入
mango
后,您进行了读取
操作,之后您再也没有进行写入
s操作。所以在喝了(X,C)之后,只要做,write('Cost of'),write(X),write('is'),write(C),nl.
。或者使用format
命令(您可以查找)。非常感谢,问题解决了。