小编Joh*_*her的帖子

学习LISP - 定义stdev函数

我是LISP的新手(请原谅我任何愚蠢的错误),并且今年的第一个实验室指出:

定义一个函数,STDEV将计算数字列表的标准偏差(查找公式)

我写了这段代码,但我不知道为什么它拒绝工作:

(defun stdev (x)
  (sqrt (/ (apply '+ (expt (- x (/ (apply '+ x)
                                   (length x)))
                           2))
           (length x))))


(setq a '(1 2 3 4 5))

(STDEV a)
Run Code Online (Sandbox Code Playgroud)

但在运行时它会产生错误:"(1 2 3 4 5)不是数字"

我相信我已经正确地模仿了标准偏差公式(虽然我不会过去自己做出一个愚蠢的错误),但为什么我的程序不喜欢我给它评估的数字列表?这种新编码方式的输入很可能是一个简单的错误,但是非常感谢任何和所有的帮助!

lisp common-lisp

0
推荐指数
1
解决办法
316
查看次数

标签 统计

common-lisp ×1

lisp ×1