【发布时间】:2016-09-11 17:26:51
【问题描述】:
我对 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)
但在运行时会产生错误:"(1 2 3 4 5) is not a number"
我相信我已经正确地模拟了标准差公式(尽管我不会把它放在自己身上犯一个愚蠢的错误),但是为什么我的程序不喜欢我给它评估的数字列表?这种新编码风格的输入很可能是一个简单的错误,但非常感谢任何和所有帮助!
【问题讨论】:
标签: lisp common-lisp