我正在尝试编写一个程序来确定一个句子是否是回文。这是我到目前为止所拥有的:
palindrome :- write('Sentence: '),
read(Word),
name(Word,List),
palCheck(List).
palCheck(List) :- reverse(List,List).
reverse(L1,L2) :- rev(L1,[],L2).
rev([],L,L).
rev([H|L],L2,L3) :- rev(L,[H|L2],L3).
我遇到的问题是当我到达空格或大写字母时。我最终想要的是能够编写 DoD dod 并让它通过。我曾尝试使用 downcase_atom(X,Y),但在将其用作句子时遇到了麻烦,这不是原子。