问题是要计算e在整数列表中出现的次数:(计算e L)
这是我到目前为止所做的......(我显然知道它不正确)
(define count(lambda(e L)
(cond
((null? L) 0)
((= e (car L)) (e(cdr L)))
(#t (count(e(cadr L))))
)))
任何想法??
答案 0 :(得分:1)
您的代码中有多个错误,这是更正后的版本:
(define count
(lambda (e L)
(cond
((null? L) 0)
((= e (car L)) (+ 1 (count e (cdr L))))
(else (count e (cdr L))))))
请注意:
count
的方式是错误的cdr
,而不是cadr
count
else
处理,而不是#t
答案 1 :(得分:0)
您缺少的关键步骤是做找到值时:您需要返回
plus(1 count(e(cdr L)))