我需要做以下事情:我有活动
word([p,r,o,l,o,g]).
word([p,r,o,l,o,g]).
我需要找出错误的字母:
e.x wrong_letter([p,r,o,l,o,u,g],X).<br>
X=u
这是我的程序,但不工作:
wrong_letter([X|Y],L) :-
word(H),
member(X,H),
wrong_letter(Y,L).
在此先感谢,对不起我的英语不好。
我需要做以下事情:我有活动
word([p,r,o,l,o,g]).
word([p,r,o,l,o,g]).
我需要找出错误的字母:
e.x wrong_letter([p,r,o,l,o,u,g],X).<br>
X=u
这是我的程序,但不工作:
wrong_letter([X|Y],L) :-
word(H),
member(X,H),
wrong_letter(Y,L).
在此先感谢,对不起我的英语不好。
如果您输入的单词中只有一个错误的字母(添加的字母),您可以:
append/3
append/3
那看起来:
wrong_letter(WrongWord, Letter):-
word(Word),
append(Head, Tail, Word),
append(Head, [Letter|Tail], WrongWord).
测试:
?- wrong_letter([p,r,o,l,o,u,g], X).
X = u ;
您还可以使用以下方法实现相同的效果select/3
:
wrong_letter(WrongWord, Letter):-
word(Word),
select(Letter, WrongWord, Word).