【发布时间】:2015-10-07 08:13:02
【问题描述】:
我正在尝试做一个单词计算器..从文件中读取单词..将它们转换为数字,然后计算结果..我设法做到了所有这些,但我认为我的程序中有两个错误..
我主要有两个功能……
提取(单词), 计算(字数,0)。
extract 将从文件中读取 .. 然后返回单词列表 .. 例如:[one,plus,three] .. 现在计算会将这些单词的值转换为数字并计算.. 我也设法做到了.. 现在的错误是:如果我在文件中遇到停止,我必须停止阅读并终止.. 所以如果 Words 是 [stop] End。 我尝试了以下...
execute :-
extract(Words),
Words = [stop],nl,print('Terminating ...'),!.
execute :-
extract(Words),
calculate( Words,0).
它成功终止了..但是当我多次提取时它会跳过行.. 我已经尝试过..
execute :-
extract(Words),
Words \= [stop],execute(Words).
execute(Words) :-
calculate( Words,0).
如果单词没有停止..然后去计算..但它不起作用!
感谢您的帮助.. 谢谢你
【问题讨论】:
标签: prolog backtracking