我正在尝试编写一个函数,该函数接受一个或多个整数并返回与第一个参数具有相同奇偶校验的所有参数的列表,例如
(same-parity 1 2 3 4 5 6 7)->(1 3 5 7)
(same-parity 2 3 4 5 6)->(2 4 6).
我的代码是
(define (same-parity g . w)
(define (iter-parity items)
(if (= (length items) 1)
(if (= (remainder items 2) (remainder g 2))
item
'())
(if (= (remainder g 2) (remainder (car items) 2))
(cons (car items) (iter-parity (cdr items)))
(iter-parity (cdr items)))))
(cons g (iter-parity w)))
尝试此操作时(same-parity (list 1 2 3 4))
,我收到一条错误消息:作为第一个参数传递给汽车的对象 () 不是正确的类型。
我可以告诉我发生了什么事吗?