【发布时间】:2011-12-02 01:55:10
【问题描述】:
我想在 lisp 中创建一个函数,它接收一个数字和一个对列表,并遍历对列表并删除对的第一个元素和第二个元素之间的除法结果同一对的数字与作为参数传递的数字不同。最后它返回一个列表,其中只有除法结果相同的列表。
到目前为止,我有以下代码:
(defun retira-terco(num l1)
(cond ((null l1) ())
((not (equal num (/ (car(first l1)) (cdr(first l1)))))
(retira-terco num (rest l1)))
(t (cons (first l1) (retira-terco num (rest l1))))))
当我尝试使用真实示例运行此示例时,出现以下错误:
Error: `(1)' is not of the expected type `NUMBER'
我做错了什么?
【问题讨论】:
-
所以你想返回一个所有对的列表,这些对相乘得到你的数字?
-
我想返回验证条件的pais列表。除法等于数字的对。我只想从原始列表中删除元素。
标签: lisp common-lisp