gpt4 book ai didi

prolog - Prolog 中的条件语句

转载 作者:行者123 更新时间:2023-12-02 18:45:13 25 4
gpt4 key购买 nike

我刚刚开始 prolog,想知道我们是否可以在 Prolog 中实现像(if.else)这样的条件语句,如果可以的话如何实现?有人可以在 Prolog 中实现此代码作为示例吗-

if(a==2)
print("A is 2");
if(a==3)
print("A is 3");
else
print("HAhahahahaah");

好的,我在 Sergey Dymchenko 回答后这样做。

Test(A) :-read(A),
( A =:= 2 ->
write('A is 2')
;
( A =:= 3 ->
write('A is 3')
;
write('HAhahahahaah')
)
).

这给出了正确的答案,除了显示 A = 2 也是我不想要的(如果我给出输入 2)。

最佳答案

一种方法:

test(A) :-
( A =:= 2 ->
write('A is 2')
; A =:= 3 ->
write('A is 3')
; write('HAhahahahaah')
).

另一种方法:

test(2) :-
write('A is 2').
test(3) :-
write('A is 3').
test(A) :-
A \= 2, A \= 3,
write('HAhahahahaah').

这两个代码存在差异,例如选择点、A 未实例化时的行为以及 A 是否被视为数字。但两者都会以相同的方式工作(除了剩下的选择点),并且与查询 test(2).test(3).test(42) 的预期相同。 )。

关于prolog - Prolog 中的条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26003045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com