该函数的目的是使用lisp计算列表中12的出现次数。
我写的代码:
(defun count12 (x)
(if (null x) 0
(if (and (= 1 (car x)) (= 2 (cadr x)))
(+ 1 (count12 (cdr x)))
(+ 0 (count12 (cdr x)))
)
)
)
我使用它时会产生错误:
错误,警告: *** - =:NIL不是数字
请注意,我使用的是Lisp在线编译器:rextester
。
感谢您的帮助&导
答案 0 :(得分:0)
当您到达列表的最后一个元素时,您将比较2
和nil
(cadr
的{{1}}为nil
)。
您需要测试单身人士名单:
nil