是否有人可以帮助我在共同的LISP中编写一个函数来计算列表中的数字?我写的代码如下,但它不起作用!
(defun count-numbers(lst)
(let(result()))
(dolist(number lst)
(push number result))
(length result))
Run Code Online (Sandbox Code Playgroud)
例如,当我输入此查询时"(count'(r 4 f d w 2 3 4 1 z))",我必须得到5.
既然是家庭作业,我只想指点一下.第一:简单.如果您是Common-Lisp的新手,只需使用其基本功能即可.例如:递归.纯粹的功能风格.想想这样的事情:
(defun count (list counter)
;; something
)
Run Code Online (Sandbox Code Playgroud)
我们先检查清单.如果它是空的,我们已经检查了所有元素,所以我们返回计数器.如果列表不为空,我们
使用(numberp n).如果n是数字,则返回T,否则返回NIL.