Ste*_*rea -1 logic declarative prolog
我目前正在尝试创建一个程序,它接受两个输入一个基数和一个指数,所以基本上我要问这两个东西,例如,如果Prolog的用户输入基数2和指数3,我希望它返回8 .. ,这是我到目前为止所做的,并且不起作用:
base:- write('Input the base: '),read(X),expo(X).
exponent:- write('Input the exponent '),read(Y),expo(Y).
expo(X,Y):- A is Y*Y,B is A*X,write(B).
Run Code Online (Sandbox Code Playgroud)
请帮忙
expo/2
(即一个expo
带有两个参数的谓词),但是你正在调用expo/1
.read/1
调用分成不同谓词的方式意味着X
并且Y
处于不同的范围内; 你永远无法调用expo(X,Y)
,除非你把read(X)
和read(Y)
相同的规则之内.X**Y
.