List 如何使用菜单驱动的prolog程序插入成员列表?
问题是- 编写一个菜单驱动的PROLOG程序,以实现列表上的各种操作,如-membership 我的回答是-List 如何使用菜单驱动的prolog程序插入成员列表?,list,prolog,member,membership,List,Prolog,Member,Membership,问题是- 编写一个菜单驱动的PROLOG程序,以实现列表上的各种操作,如-membership 我的回答是- main :- nl, writeln("> Enter a selection followed by a period."), nl, writeln("> 1. Run a query"), nl, writeln("> 2. Exit"), nl, nl,
main :-
nl,
writeln("> Enter a selection followed by a period."), nl,
writeln("> 1. Run a query"), nl,
writeln("> 2. Exit"), nl, nl,
read(Choice),
run_opt(Choice),main.
run_opt(1) :-
writeln("> Enter list"), nl,
read(L),
member(X,[L]).
run_opt(2) :- writeln("Goodbye"), nl.
run_opt(_) :- writeln("Invalid option"), nl.
member(X,[X|_]).
member(X,[_|TAIL]):-
member(X,TAIL).
上面的程序有问题,我不能用菜单驱动插入来插入成员,就像我在下面不用菜单驱动直接插入来插入一样--
当我把--
它将成员显示为-
X = 1
X = 2
X = 3
所以,我需要用菜单驱动来做这件事,但是我不能在prolog中传递列表成员。
提前感谢。如果您输入
[1,2,3]
,答案应该是什么?程序应该打印true
,还是像1
那样打印列表中的单个元素,还是应该在单独的行上打印每个元素,还是应该打印列表中的所有元素,像[1,2,3]
?成员(X,[L])
应该是成员(X,L)
@IsabelleNewbie ans应该像我上面显示的那样打印所有列表成员,但它显示无效选项和单例变量错误。@Kintalken我也尝试了成员(X,L)当我输入列表成员值时,它显示单例变量[X]错误和无效选项。如果输入[1,2,3]
,答案应该是什么?程序应该打印true
,还是像1
那样打印列表中的单个元素,还是应该在单独的行上打印每个元素,还是应该打印列表中的所有元素,像[1,2,3]
?成员(X,[L])
应该是成员(X,L)
@IsabelleNewbie ans应该像我上面显示的那样打印所有列表成员,但它显示无效选项和单例变量错误。@Kintalken我也尝试了成员(X,L)。当我输入列表成员值时,它显示单例变量[X]错误和无效选项。
member(X,[1,2,3]).
X = 1
X = 2
X = 3