У меня есть какая-то домашняя работа, и я придерживаюсь одной точки. Я дал некоторые факты, как те:Сравнение содержимого двух списков в прологе
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).
Проблема заключается в том, я не знаю, как перейти к следующей букве в слове самом деле. В следующий раз, когда начнется обратный путь, он будет использовать заголовок слова, в то время как я хотел бы использовать вторую букву в списке. Любые идеи о том, как это решить?
Прошу прощения за любые грамматические ошибки, и я ценю вашу помощь.
Большое вам спасибо, я об этом не думал. Что касается важного случая, то вы упомянули, что основная часть моего задания - сделать своего рода словарь для исправления данных предложений с любыми ошибками, но только с 1 буквой, ошибочно принятой за каждое слово, поэтому я не считаю, что мне придется вычислить количество матчи или ошибки, так как они всегда будут максимальными 1. В любом случае спасибо за ответ. –