【发布时间】:2012-01-22 08:55:44
【问题描述】:
我有一些家庭作业,但我被困在某一点上。我得到了一些类似的事实:
word([h,e,l,lo]).
word([m,a,n]).
word([w,o,m,a,n]). etc
我必须制定一个规则,以便用户输入一个字母列表,我应该将列表与我拥有的单词进行比较并纠正任何可能的错误。如果第一个字母在正确的位置,这是我使用的代码:
mistake_letter([],[]).
mistake_letter([X|L1],[X|L2]):-
word([X|_]),
mistake_letter(L1,L2).
问题是我不知道如何移动到单词 fact 的下一个字母。下次回溯运行时,它将使用单词的开头,而我想使用列表中的第二个字母。关于如何解决这个问题的任何想法?
对于任何语法错误,我深表歉意,感谢您的帮助。
【问题讨论】:
标签: list prolog compare letters